我在PHP中使用list()赋值,因此我可以一次为更多变量分配数组值。
事情是我需要修剪()数组输入之前 - 当然你可以在数组之前或之后做一个foreach - 但有没有办法将修剪作为某种分配过滤器 - 或者至少修剪数组内联(没有外部函数或foreach)?
问题更像是一般问题 - 你可以在list()分配中添加一些过滤功能吗?
修改
对于那些正在寻找foreach的“简单”解决方案的人:
foreach($items as $k => $v) $item[$k] = trim($v);
list($var1,$var2,$var3,$var4) = $items;
答案 0 :(得分:8)
无法为您提供比array_map()
更简单的方式:
list($var1,$var2,$var3,$var4) = array_map('trim', $items);
这里的“技巧”是array_map
将函数应用于数组的每个元素,然后返回修改后的数组 - 然后由list
使用。
答案 1 :(得分:1)
$items = array_map('trim', $items);
list($var1,$var2,$var3,$var4) = $items;
答案 2 :(得分:1)
据我所知,list不接受某种过滤器。 array_map
可能是更直接的方式:
list($var1,$var2,$var3,$var4) = array_map('trim', $items)