https://www.jb51.net/article/49956.htm
相信大家一定遇到這樣的問題,因爲PHP是弱類型的,所以進行排序的時候,有時候很胃疼
所以這裏就需要將位數進行統一後進行處理
一般都是將末尾添加0進行補位
方法1 : str_pad — 使用另一個字符串填充字符串爲指定長度
該函數返回 input
被從左端、右端或者同時兩端被填充到制定長度後的結果
$input = '11111';
echo str_pad($input, 10, '0', STR_PAD_LEFT); // 輸出 "-=-=-
這裏輸出的結果是:
1111100000
/*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,畢竟是內置的,肯定比自定義的快。*/
/*
你上面的方法我覺得不怎麼好,介紹一下我寫的一個方法。方法函數如下,這樣當你要的結果001的話,方法:dispRepair('1',3,'0')
功能:補位函數
str:原字符串
type:類型,0爲後補,1爲前補
len:新字符串長度
msg:填補字符
*/
function dispRepair($str,$len,$msg,$type='1') {
$length = $len - strlen($str);
if($length<1)return $str;
if ($type == 1) {
$str = str_repeat($msg,$length).$str;
} else {
$str .= str_repeat($msg,$length);
}
return $str;
}