做物联网的都知道,我们需要给发布的设备一个编号,这个编号既要够复杂,又要数量够大,最好是从0开始,有多少设备,编号就有多大。因此这篇文章就应运而生。

一、php的str_pad()函数

(1)根据我的需求,通过自己来循环生成,并拼接也是可以的。但是既然php自带了这方面的函数,那当然还是用自带的函数更好一些。

(2)用法:

str_pad()函数的作用是:用一个字符串填充另一个指定字符串到指定长度。
str_pad(string,length,pad_string,pad_type)
参数 描述
string 必需。规定要填充的字符串。
length 必需。规定新的字符串长度。如果该值小于字符串的原始长度,则不进行任何操作。
pad_string 可选。规定供填充使用的字符串。默认是空白。
pad_type
可选。规定填充字符串的哪边。
可能的值:
STR_PAD_BOTH - 填充字符串的两侧。如果不是偶数,则右侧获得额外的填充。
STR_PAD_LEFT - 填充字符串的左侧。
STR_PAD_RIGHT - 填充字符串的右侧。默认。

(3)例如:

<?php
$str = "Hello World";
echo str_pad($str,30,".",STR_PAD_LEFT);
?>//结果:...................Hello World

也就是说,这个函数可以填充我们规定的长度的字符串,这就很符合我们的要求了。

二、具体实现

(1)代码部分

  public function test_iot(Request $request){//假设我们需要批量生成10条$num = 10;//这里是我们要拼接的固定前缀$device_name = 'ABCD_';//设置从0开始$m = 0;$strs = '';for($i = 0; $i<$num; $i++){//每次循环,m都会递增$m = $m+1;//我们通过str_pad()函数,把递增的$m组合成7位的字符串,长度不够则用0来凑齐$str=$device_name.str_pad($m,7,'0',STR_PAD_LEFT );//把字符串用'&'连接起来,并打印$strs .= '&'.$str;}$strs = substr($strs,1);print_r($strs);}

(2)结果部分

ABCD_0000001&ABCD_0000002&ABCD_0000003&ABCD_0000004&ABCD_0000005&ABCD_0000006&ABCD_0000007&ABCD_0000008&ABCD_0000009&ABCD_0000010

这已经达到我们的目的了,生成我们想要的字符串

三、php的sprintf()函数,自动填充

(1)定义
把百分号(%)符号替换成一个作为参数进行传递的变量:

由于参数过多,具体请参考手册:
http://www.w3school.com.cn/php/func_string_sprintf.asp

(2)具体代码

public function test_iot1(){$num = 10;$device_name = 'ABCD_';$m = 0;$strs = '';for($i = 0; $i<$num; $i++){$m = $m+1;//代码和上面的差不都$str=$device_name.sprintf('%07s', $m);//最主要就是这部分,填充替换$strs .= '&'.$str;}$strs = substr($strs,1);print_r($strs);}

解释:
      sprintf()的功能非常灵活,上面的格式字符串中,“%07s ”表示输出成长度为7的字符串,如果长度不足,左边以零补全;如果写成 “%7s ”,则默认以空格补全;如果希望使用其它字符补全,则要在该字符前加上单引号,即形如“%’#7s ”的表示以井号补全;最后,如果希望补全发生在 字符串右边,则在百分号后加上减号,“%-07s ”。

(3)具体效果

ABCD_0000001&ABCD_0000002&ABCD_0000003&ABCD_0000004&ABCD_0000005&ABCD_0000006&ABCD_0000007&ABCD_0000008&ABCD_0000009&ABCD_0000010

这两种方法都能达到我们想要的目的。当然,这边只是测试一下,只生成了10条数据,而且我是按照自己的需求给拼接起来了。大家可以按照自己的需求来操作字符串。

end

php批量生成产品编号:xxx.000001,并依次递增相关推荐

  1. Excel如何批量制作产品编号条形码

    ​ 如下图是某公司产品批号,现在我们想要快速为其制作条码. ​ 选中产品编号单元格区域 ​ 点击下图选项(Excel插件,百度即可了解详细的下载安装方法,本文这里不作详细叙述) ​ 选择[批量生成ZX ...

  2. php生成产品编号,php中利用str_pad函数生成数字递增形式的产品编号

    php中利用str_pad函数生成数字递增形式的产品编号 解决办法:$str="QB".str_pad(($maxid[0]["max(id)"]+1),5,& ...

  3. 【Java代码】MP3、flac歌曲批量生成同名的“xxx.lrc”歌词文件导入索尼黑砖二代

    目录 1.准备条件 2.实现方式 3.代码环境和maven依赖 4.Java代码 5.示例1结果 6.示例2结果 7.一个小问题 8."音乐标签"下载地址 1.准备条件 网易云下载 ...

  4. PHP批量生成底部带编号二维码(二维码生成+文字生成图片+图片拼接合并)

    PHP批量生成带底部编号二维码(二维码生成+文字生成图片+图片拼接合并) 需求: 输入编号如 : cb05-0000001  至 cb05-0000500 批量生成 以编号为名称的下图二维码,然后压缩 ...

  5. 标签打印软件如何批量生成数字防伪码

    随着社会的发展,现在各行各业对产品的监管力度都在日益提高,防伪码成了众多产品上的必需品,防伪码可以是数字,也可以是条形码还可以是二维码,下面我们就中琅标签打印软件来看一下数字防伪码是如何批量制作的? ...

  6. 怎么批量给文件名编号?

    怎么批量给文件名编号?工作中某项工作涉及较多的文件后,就需要批量给文件名进行编号,通常大家会在所有文件名前面添加依次递增的数字编号,有了编号之后文件能更加方便的进行整理,而且能做到心中有数,不容易发生 ...

  7. asp按时间自动递增编号_Excel自动填充日期与每次递增3分钟的时间且批量生成编号,用快捷键填充当前日期...

    在 Excel 中,除数字可以自动填充外,日期和时间也可以自动填充:其中日期可按日.月.年和工作日填充,时间可按每次递增时分秒填充.日期填充方法有三种,一种是用拖动的办法自动填充,第二种是用双击单元格 ...

  8. 如何批量生成16进制偶数标

    平时的标签制作过程中,很多产品生产序号或者是编号都会用到流水号.最近就有朋友向我们咨询,如果想要十六进制的偶数流水号,该怎么实现呢?如果自己计算排列也是可以实现的,但是会非常麻烦.小编下面就给大家分享 ...

  9. 批量生成带超链接目录且自动更新 Excel

    文章目录 自动生成带超链接的目录 一.知识点 get.workbook宏表函数使用 INDEX() FIND() REPLACE() HYPERLINK() 二.举例 第一步:定义名称 第二步:提取所 ...

最新文章

  1. 24个很赞的 Node.js 免费教程和在线指南
  2. java如何获得wlan mac_Android M 如何获取 Wifi MAC地址
  3. python和arduino串口通信_利用串行通信实现python与arduino的同步
  4. mysql下载64位 linux_在linux(CentOS-6.7_x86_64)上安装mysql成功记录
  5. php定位和天气,php – 根据用户所在地显示天气
  6. 游戏界的扛把子、3D 游戏之父约翰•卡马克的传奇人生
  7. 【翻译】BCGControlBar Professional Edition for MFC v 29.0重大更新
  8. c语言控制电机正反转程序,C语言实现控制电机加减速正反转(飞思卡尔C代码)
  9. 【思想落地】一文分享Qt界面的设计与开发
  10. 面试官都叫好的Synchronized底层实现,这工资开多少一个月?
  11. SLT2021: LIGHTSPEECH: LIGHTWEIGHT NON-AUTOREGRESSIVE MULTI-SPEAKER TEXT-TO-SPEECH
  12. Android APP程序更新报解析软件包时出现错误问题解决方法
  13. 贝尔曼算法队列优化(SPFA)
  14. [Study]Vue
  15. Admob广告收入怎么算的?
  16. php导出成word试卷,依据word模板批量生成试卷
  17. 从CSDN博客下载的图片如何无损去水印
  18. 【opencv-python-face_recognition人脸识别,分辨人物是否为同一个人】人脸检测,识别出人物框,并能根据两次输入图片分辨是否为同一个人
  19. 其他传感器行业调研报告 - 市场现状分析与发展前景预测
  20. 清除css万能浮动代码

热门文章

  1. java简单的异常_Java的简单理解(8)-异常(Exception)
  2. yolov5 mobile 剪枝
  3. 作为事件属性设置而输入的表达式“打开”产生如下错误:在Microsoft Office Access 与 OLE服务器或ActiveX控件通讯时出现问题。
  4. ubuntu 编译caffe makefile.config
  5. Python 进度条 tqdm
  6. OpenCV 3最新模块介绍
  7. android使用okthtp
  8. 十九、约束作用及常见约束
  9. awd的批量脚本 pwn_AWD攻防之web入门篇
  10. java 远程登陆windows_使用Windows身份验证,JAVA连接到远程MSSQL