举例来说:员工的工号 X001 虽然 MySQL 本身的字段设定成 zerofill 的属性时,会将不足位数的部份补上0,但是这个功能只能用在数字的字段上面。 所以必要的时候只好靠PHP来进行了。 ######## <?php $sourceNumber = "1"; $newNumber = substr(strval($sourceNumber+1000),1,3); echo "$newNumber"; ?> 这个时候就会出现:001 如果要增加位数的话可以将1000加大,然后把3也加大。 举例:如果我要补上 "4个0" 第03行 就要变成这样。 ######### <?php $newNumber = substr(strval($sourceNumber+100000),1,5); ?> 其实就是总共要显示几位数字,就把$sourceNumber+1后面补上多少个0,最后一个数字就直接改成显示几位数字。 更好的方法: string str_pad ( string $input, int $pad_length [, string $pad_string [, int $pad_type]] ) ######### <?php $input = "Alien"; echo str_pad($input, 10); // produces "Alien " echo str_pad($input, 10, "-=", STR_PAD_LEFT); // produces "-=-=-Alien" echo str_pad($input, 10, "_", STR_PAD_BOTH); // produces "__Alien___" echo str_pad($input, 6 , "___"); // produces "Alien_" ?> 补齐字符串的长度.以pad_string 补.默认补在右边,如果STR_PAD_LEFT就补到左边,STR_PAD_BOTH两边一起补。 下次用str_pad,毕竟是内置的,肯定比自定义的快。 (责任编辑:admin) |