php数组上的严格标准消息

Posted

技术标签:

【中文标题】php数组上的严格标准消息【英文标题】:Strict Standards message on php array 【发布时间】:2013-11-23 18:00:23 【问题描述】:

我目前在按字符拆分数组值时收到以下错误消息:严格标准:只能通过引用传递变量

这是我的数组:

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));

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

【问题讨论】:

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);

【讨论】:

我不确定如何拆分数组的值,如果我可以使用下一个? 太棒了,效果很好。在它派上用场之前,我从未见过这个数组函数。

以上是关于php数组上的严格标准消息的主要内容,如果未能解决你的问题,请参考以下文章

在 PHP 5.3 中,如何在没有严格警告的情况下在一行中获取单个元素数组中的值

PHP 严格模式

数组php上的foreach数组

PHP知识点--数组

Php mail - 包含数组和条件的消息变量[重复]

php数组函数常见的那些