2013-11-23 68 views
0

我目前的性格分裂的时候了数组值收到以下错误信息:严格的标准:只有变量应参考严格的标准消息

传递这是我的数组:

array(6) { [0]=> string(8) "2390:SS0" [1]=> string(8) "2391:SS1" [2]=> string(9) "2392:SS11" [3]=> string(7) "250:BS1" [4]=> string(8) "251:BS10" [5]=> string(8) "252:BS11" } 

这是我的PHP:

foreach ($postcodes as $key => $value) 
{ 
    $postcode_ids  = current(explode(':', $value)); 
    $postcode   = next(explode(':', $value)); 
} 

通知似乎出现在下一行?任何想法或指针都会很棒。谢谢。

+0

可能重复[严格的标准:只有变量应该通过引用传递](http:// stackoverf low.com/questions/2354609/strict-standards-only-variables-should-be-passed-by-reference) –

回答

1

next()修改传入的数组。它通过引用传递。因此,你不能使用

next([expression]); 

但只有

next([variable]); 

为了简化代码,替代的

$postcode_ids  = current(explode(':', $value)); 
$postcode   = next(explode(':', $value)); 

list($postcode_ids, $postcode) = explode(':', $value); 
+0

我不知道如何分割数组的值,如果我可以使用下一个? – neoszion

+0

非常棒,效果很棒。我从来没有看到这个数组函数,它会非常方便。 – neoszion