【发布时间】:2017-03-03 15:50:43
【问题描述】:
我正在尝试在 PHP 中使用 str_pad 和 array_map。但它似乎不起作用。一个代码-sn-p:
$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"
}
【问题讨论】:
-
我之前已经回答过类似的问题:stackoverflow.com/questions/41286693/…
-
为传入参数的每个数组中的每个元素运行回调函数。它将匹配
""与4,"a"与0和"ab"与STR_PAD_LEFT。我很确定这不是你想要的。