为什么我的示例代码导致第一个字符串仍然存在尾部空格?为什么不在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