2

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

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

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

编辑:

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

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

3 回答 3

10

不能为您提供比以下更简单的方法array_map()

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

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

小演示

于 2013-08-29T10:25:46.503 回答
1
$items = array_map('trim', $items);

list($var1,$var2,$var3,$var4) = $items;
于 2013-08-29T10:26:00.097 回答
1

据我所知 list 不接受一种过滤器。array_map可能是更直接的方式:

list($var1,$var2,$var3,$var4) = array_map('trim', $items)
于 2013-08-29T10:28:02.273 回答