我想将我的数组变量格式化为十个以下的数字有前导零,所以:
$myArray=array(1,2,3,10,11,100);
Run Code Online (Sandbox Code Playgroud)
所以它是:
$myArray=array(01,02,03,10,11,100);
Run Code Online (Sandbox Code Playgroud)
这有一个简单的功能吗?
提前致谢.
在php中,前导零表示该数字是八进制数.
您应该在输出时将其格式化为:
$myArray=array(1,2,3,10,11,100);
foreach ($myArray as $var) {
echo sprintf("%02d\n", $var);
}
Run Code Online (Sandbox Code Playgroud)
这允许您将所有值填充为可变长度。
请记住,前导零不是有效的整数表示。出于可移植性的原因,如果要存储值,则应将值转换为字符串。
$myArray = array(1,2,3,10,11,100);
$pad_length = 2;
foreach ($myArray as &$item)
{
$item = str_pad($item, $pad_length, '0', STR_PAD_LEFT);
}
print_r($myArray);
Run Code Online (Sandbox Code Playgroud)
输出:
Array
(
[0] => 01
[1] => 02
[2] => 03
[3] => 10
[4] => 11
[5] => 100
)
Run Code Online (Sandbox Code Playgroud)