如果要自動生成學號,自動生成某某編號,就像這樣的形式“d0000009”、“d0000027”時,那么就會面臨一個問題,怎么把左邊用0補齊成這樣8位數的編碼呢?我想到了兩種方法實現這個功能.
方法一:
先構造一個數字10000000,千萬,也就是一個1,7個0,然后加上當前的編號(比如是3),那么就得到 10000003,用字符串截取 substr('10000003',1,7)后就得到0000003,最后在與“d”拼接,就得到了最終的編號d0000003。源碼如下:
- <?php
- $num = 3;
- $temp_num = 10000000;
- $new_num = $num + $temp_num;
- $real_num = "d".substr($new_num,1,7); //即截取掉最前面的“1”
- echo $real_num;
- ?>
方法二:
測出當前編號(比如是3)的長度strlen('3')=1,用要生成編號的總長度減去當前編號長度,得到需要填充0的個數,然后再用for循環填充0即可,源碼如下:
- <?php
- $num = 3;
- $bit = 7;//產生7位數的數字編號
- $num_len = strlen($num);
- $zero = '';
- for($i=$num_len; $i<$bit; $i++){
- $zero .= "0";
- }
- $real_num = "d".$zero.$num;
- echo $real_num;
- ?>
新聞熱點
疑難解答