PHP list()assign - 在赋值之前修剪或任何其他功能?

时间:2013-08-29 10:20:51

标签: php arrays

我在PHP中使用list()赋值,因此我可以一次为更多变量分配数组值。

事情是我需要修剪()数组输入之前 - 当然你可以在数组之前或之后做一个foreach - 但有没有办法将修剪作为某种分配过滤器 - 或者至少修剪数组内联(没有外部函数或foreach)?

问题更像是一般问题 - 你可以在list()分配中添加一些过滤功能吗?

修改

对于那些正在寻找foreach的“简单”解决方案的人:

foreach($items as $k => $v) $item[$k] = trim($v);
list($var1,$var2,$var3,$var4) = $items;

3 个答案:

答案 0 :(得分:8)

无法为您提供比array_map()更简单的方式:

list($var1,$var2,$var3,$var4) = array_map('trim', $items);

这里的“技巧”是array_map将函数应用于数组的每个元素,然后返回修改后的数组 - 然后由list使用。

Little Demo

答案 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)