我的脚本有一个小问题。严格的标准php错误
我越来越严格的标准:只有变量应该按引用传递在
if($checkDNS && ($domain = end(explode('@',$email, 2))))
我的脚本有一个小问题。严格的标准php错误
我越来越严格的标准:只有变量应该按引用传递在
if($checkDNS && ($domain = end(explode('@',$email, 2))))
该数组是通过引用传递,因为它是由函数修改。这意味着您必须将它传递给一个实变量,而不是返回数组的函数,因为只有实际变量可以通过引用传递。
所以你必须在最后函数中使用的变量:
$domain = explode('@',$email, 2);
if($checkDNS && ($domain = end($domain)))
这项工作。谢谢。 –
从手册:
mixed end (array &$array)
end
需要通过引用数组并移动内部指针。你的数组是函数输出,所以它无法通过引用正确修改数组。
像有消息称,年底预计变量,因为它的参数是一个参考。
但由于PHP 5.4,你可以解引用数组这样的:
$domain = explode('@',$email, 2)[1];
假设$电子邮件始终包含@
。你应该事先保证,否则结束(...)也会给你意想不到的结果。
[严格标准:只有变量应通过引用传递]的可能重复(http://stackoverflow.com/questions/2354609/strict-standards-only-variables-should-be-passed-by-reference) –