【问题标题】:PHP function behavior after upgrading from 7.0 to 7.2 [duplicate]从 7.0 升级到 7.2 后的 PHP 函数行为 [重复]
【发布时间】:2021-04-23 19:08:49
【问题描述】:

我的函数现在对传递所有参数变得更加严格,而不仅仅是我需要的)

这曾经有效

function namedFunction($avar, $bvar, $cvar){
.......
}

echo namedFunction('a','b');

现在没有任何效果,除非我通过

echo namedFunction('a','b','');

【问题讨论】:

  • 在您的函数定义中,只需将... $bvar,$cvar = null){... 设置为默认值。我不认为这是最近的更新,但据我所知,它在很长一段时间内都是标准的......
  • 您可能在 PHP 7 中有一个巨大的错误日志,其中包含这种松散的函数编码产生的所有警告.....
  • 这从来都不是有效的代码:3v4l.org/kPWVN 但它在 7.1 中是额外无效的。当您编写新代码时,您应该将error_reporting 设置为至少向您显示 个警告的级别,因为早期的警告很有可能会指示后来错误的原因。另外,7.2 EOL 即将到来,让你至少达到 7.4。

标签: php


【解决方案1】:

您可以为参数分配默认值:

function myFunction( $a, $b, $c = "" )
{
  ...
}

myFunction( $a, $b );

检查您使用 PHP 7.0 执行此操作时的错误日志 - 不提供没有默认值的参数在 7.0 或 7.2(或我记得的任何其他版本)中是无效的语法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-31
    相关资源
    最近更新 更多