2
我試圖在PHP中使用array_map
來使用str_pad
。但它似乎不起作用。一個代碼片段:如何在PHP中使用使用array_map的str_pad?
$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"
}
我已經在之前回答過類似的問題:http://stackoverflow.com/questions/41286693/php-array-map-trim-parameters/41286762#41286762 –
回調函數爲每個傳遞的數組中的每個元素運行在論據中。它會將''''與'4',''''與'0'和''ab''與'STR_PAD_LEFT'匹配。我很確定那不是你想要的。 – apokryfos