首页 > 解决方案 > PHP | 只有变量应该通过引用传递 | 为什么老版本没有这个错误?

问题描述

网上有很多类似的问题。而且我知道您需要在对分解变量使用 end 之前为变量赋值。

如:

$var = explode(' ',$a);
$result = end($var);

但是,如果您不想保存第一个变量怎么办,如果该变量仅用于获取最终结果,则可能会浪费资源。为什么不能像这样使用:

$result = end(explode(' ',$a));

如何在 PHP 上关闭它,旧的 PHP 版本没有这些错误。有什么办法关掉吗?

标签: php

解决方案


我建议只在语言规则内进行编码,并且您不应该在生产代码中显示错误,但是:

PHP 7.0.0 - 8.0.9

注意:只能通过引用传递变量

  • 禁用E_NOTICE
  • error_reporting(E_ALL | E_NOTICE);或在php.ini中

PHP 5.1.0 - 5.6.40

严格的标准:只能通过引用传递变量

  • 禁用E_STRICT
  • error_reporting(E_ALL | E_STRICT);或在php.ini中

PHP 5.0.5

致命错误:只能通过引用传递变量

  • 没有工作

PHP 4.3.1 - 5.0.4

  • 没有错误

推荐阅读