我有一个foreach循环正在迭代。我尝试将一个变量"exploded"(分解)成多个部分,然后使用list()函数将它们附加到相应的数组中,就像这样:
list($a[], $b[], $c[]) = explode(':', $loop);
list()不能做到这一点吗?它会出现以下错误:
致命错误:字符串不支持[]运算符
我想我可以在list()中使用临时变量,然后在之后将它们附加到相应的数组上,就像这样:
foreach($array as $loop) {
list($a1, $b2, $c3) = explode(':', $loop);
$a[] = $a1;
$b[] = $b2;
$c[] = $c3;
}
有没有更好/更高效的方法来做这件事(比如完全使用list())?
$a,$b,$c
初始化为数组,第一行代码对我来说实际上是有效的。我可以使用[]
将list()
直接赋值给数组元素。在你的代码中$array
里面是什么? - Michael Berkowskilist()
中我只是初次初始化了$a,$b,$c
。(只是做个参考,这是编程中的不良实践吗?)。$array
是一个包含10-20个字符串的数组(字符串是url的后半部分,例如'/questions/12886947/'
)。 - Coldblackice