【问题标题】:What's the PHP syntax for statement [$var1, $var2] = someMethod();?语句 [$var1, $var2] = someMethod(); 的 PHP 语法是什么?
【发布时间】:2019-06-14 16:10:16
【问题描述】:

我正在尝试让 Illuminate/Database 在我的 PHP 应用程序上运行,它多次抱怨库中的代码如下所示:

[$value, $key] = static::explodePluckParameters($value, $key);

这是来自网络服务器的错误:

Parse error: syntax error, unexpected '=' in /home/vol1_1/epizy.com/epiz_24040130/file-planner-rg.epizy.com/htdocs/vendor/illuminate/support/Arr.php on line 388

我设法通过使用旧版本的库(根据我的 composer.json 版本约束当前为 5.7)解决了上一个发生这种情况的实例。

我试过搜索这个,但不确定括号之间的变量在 PHP 中代表什么。这是针对我正在尝试进入的编码学校的。

【问题讨论】:

  • 点了。无论如何,反对票是怎么回事?这是一个合法的问题,不是吗?
  • 我没有投票,而且投票是匿名的,所以我只能猜测人们投票的原因。也许他们都对志愿者论坛上的紧急请求感到沮丧。截止日期在这方面特别棘手 - 尽管人们对紧迫的截止日期表示同情,但这种特殊的表述可以被解读为“如果我没有进入编码学校,那是每个没有帮助的读者的错”,这是非常强制性的.
  • 支持/反对投票的规则很少:基本上,人们可以根据自己的喜好以任何理由投票,并且可以匿名投票,只要不由用户投票即可。
  • 对一个无关紧要的小评论如此敏感,对于一个开放的社区来说并不好,恕我直言。不过谢谢你的反馈,伙计。
  • 一般来说,这与敏感性无关,如果没有性格测试和测谎仪,我们就无法判断。 ;-)我们每天都会收到成千上万的问题,其中许多问题无法回答或要求有人做功课等。大多数认真在这里的新成员都没有看到这种可悲的流。老手们现在可能会很高兴地通过小小的努力来扭转局面。这可能会有所帮助,但这种潮流仍在继续。你可能陷入了交火,但你现在知道什么不该说:-)

标签: php illuminate-container


【解决方案1】:

[$variable1, $variable2] = someCall(); 是数组解构赋值的简短语法。它是在 PHP 7.1 中引入的。你可能有一个旧版本。使用list() 应该可以工作:

list($value, $key) = static::explodePluckParameters($value, $key);

【讨论】:

    【解决方案2】:

    Symmetric array destructuring 是在 PHP 7.1 中引入的(这是仍然接收安全更新的最旧版本的 PHP;您不应该使用任何旧版本)。

    【讨论】:

    • 我正在使用只有 PHP 7.0 的免费托管服务 InfinityFree。幸运的是,这不是一个生产应用程序。 :)
    猜你喜欢
    • 1970-01-01
    • 2015-06-17
    • 2011-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-20
    相关资源
    最近更新 更多