私はそのような数字の配列を持っています
$arr = range(01,10);
しかし、私は出力をしたいです
Array ( [0] => 01 [1] => 02 [2] => 03 ... [9] => 10)
どうすればそれができますか?
あなたはおそらく必要ですarray_map()
:
array_map(function($item) {
return str_pad($item, 2, '0', STR_PAD_LEFT);
}, $arr);
または、次を使用することsprintf()
もできます。
return sprintf('%02d', $item);
アレイが大きい場合は、その場で交換を実行することをお勧めします。提案してくれたWaygoodに感謝します。
array_walk($arr, function(&$item) {
$item = str_pad($item, 2, '0', STR_PAD_LEFT);
});
$arr = range(1,10);
$arr = array_map('pad', $arr);
function pad($input)
{
return str_pad($input, 2, "0", STR_PAD_LEFT);
}
print_r($arr);
str_padオプションを確認してください。これを使用して、出力に先行ゼロを追加できます。
foreach($arr as $key=>$val) {
$arr[$key] = str_pad($val, 2, '0', STR_PAD_LEFT);
}
var_dump($arr);
参照付きのforeachループの使用:
$arr = range(1,10);
foreach($arr as &$val) {
$val = str_pad($val, 2, '0', STR_PAD_LEFT);
}
var_dump($arr);