爲什麼我的示例代碼導致第一個字符串仍然存在尾部空格?爲什麼不在PHP中將工作修剪爲array_walk或array_map的回調?
$a=array('test_data_1 ','test_data_2');
array_walk($a, 'trim');
array_map('trim', $a);
foreach($a AS $b){
var_dump($b);
}
字符串(12) 「test_data_1」 字符串(11) 「test_data_2」
謝謝,確實錯過了array_map返回的內容 - 但pealse能指定爲什麼要將array_walk作爲錯誤函數進行排列? – 2013-02-12 09:08:05
如果你閱讀[manual](http://php.net/array-walk),你會看到array_walk只是**調用一個數組的每個值(和鍵)的函數。所以它會有同樣的效果:'trim('test_data_1',0); trim('test_data_2',1)' - 沒有分配,沒有副作用(順便說一句,修剪的第二個參數是錯誤的)。你*當然可以爲array_walk編寫自己的函數,然後修剪實際的數組元素。 – 2013-02-12 09:12:16