Я пытаюсь использовать str_pad
с помощью array_map
в PHP. Но похоже, что это не работает. Фрагмент кода:
$arr = ["", "a", "ab", "abc", "abcd"];
$arr = array_map("str_pad", $arr, [4, "0", STR_PAD_LEFT]);
var_dump($arr);
Результат:
array(5) {
[0]=>
string(4) " "
[1]=>
string(1) "a"
[2]=>
string(2) "ab"
[3]=>
string(3) "abc"
[4]=>
string(4) "abcd"
}
Я не могу себе объяснить такое поведение.. что $arr[0]
заполнено, но только с пробелами вместо нулей и остальные элементы как раньше.
Как адаптировать мой код, чтобы он возвращал что-то вроде этого:
array(5) {
[0]=>
string(4) "0000"
[1]=>
string(4) "000a"
[2]=>
string(4) "00ab"
[3]=>
string(4) "0abc"
[4]=>
string(4) "abcd"
}
""
с4
,"a"
с0
и"ab"
сSTR_PAD_LEFT
. Я почти уверен, что это не то, чего ты хочешь. - person apokryfos   schedule 03.03.2017