不要心存侥幸,避免贪婪的心作怪,这会令你思考发生短路。如果你不是步步踏实,就容易掉入不切实际的冒险。
在制作一个自动生成工号的php逻辑中,由于要统一工号的长度就用到了php中数字位不够时左则补0的方法,其实也很简单,下面就说说php数字左则补0的方法。
PHP数字字符串左侧补0自动补齐的方法
方法1:使用 sprintf 函数对数字字符串左则补0的方法
关于 php 中 sprintf() 函数的介绍,可参考本站相关的博文!
例:
// "%06d" 表示格式化一个六位的变量,如果不够在左则补0 echo sprintf("%06d",1); //000001 echo sprintf("%06d",12); //000012 echo sprintf("%06d",134); //000134 echo sprintf("%06d",1234); //001234 echo sprintf("%06d",12345); //012345 echo sprintf("%06d",123456); //123456
方法2:php str_pad() 函数数字字符串左则补0的方法
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 为默认值,表示填充到右则
示例:php str_pad() 函数填充一个六位的数字字符串
echo str_pad(1,6,0,STR_PAD_LEFT); //000001 echo str_pad(12,6,0,STR_PAD_LEFT); //000012 echo str_pad(123,6,0,STR_PAD_LEFT); //000123 echo str_pad(1234,6,0,STR_PAD_LEFT); //001234 echo str_pad(12345,6,0,STR_PAD_LEFT); //012345 echo str_pad(123456,6,0,STR_PAD_LEFT); //123456
方法3:自定义php填充函数
上面方法1与方法2中都是用的 php 中自带的函数实现的数字字符串左则填充补0的方法,下面就来写一个自定义的,可以借鉴一下。
/** * @param int $num 被处理的数组字符串 * @param int $l 处理后字符串的长度 * @param string $str 被填充的字符 * @ http://www.feiniaomy.com * * @return string */ function disprepair($num,$l = 6,$msg = 0) { if(strlen($num) >= $l){ return $num; } $s = $l - strlen($num); return str_repeat($msg,$s).$num; } echo disprepair(1); // 000001 echo disprepair(123,4,0); // 0123
到此这篇关于php中数字字符串左则补0的方法就介绍到这了。成功与我们的距离并不遥远,只要肯静下心来做好手边的事,不要一下子就想取得成功。路是一步步走出来的,想好现在该做什么,然后努力地去完成,你就会离成功越来越近。更多相关php中数字字符串左则补0的方法内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!