【问题标题】:What does this symbol mean "?->" in php, within an object or null value [duplicate]这个符号是什么意思“? - >”在php中,在一个对象或空值中[重复]
【发布时间】:2020-09-22 11:26:53
【问题描述】:

您能否解释一下运算符?-> 在PHP 中的作用,因为我有这段代码:

$drive = $objDrive?->func?->getDriver()?->value;

【问题讨论】:

  • 这个问题的答案应该放在What does this symbol mean?
  • 据我所知,它是编程语言中的新运算符,感谢您的建议
  • 您在那里编写的代码在任何已发布的 PHP 版本中都无法使用,并且可能会或可能永远不会这样做。该功能昨天才正式提出,甚至还没有讨论过。

标签: php php-8


【解决方案1】:

目前只是一个建议,你可以找到它enter link description here。它是NullSafe Operator,它返回null,以防您尝试调用函数或从null 获取值...示例

$objDrive = null;
$drive = $objDrive?->func?->getDriver()?->value; //return null
$drive = $objDrive->func->getDriver()->value; // Error: Trying to get property 'func' of non-object

【讨论】:

  • 你能把这个答案移到here吗?这是这类问题的典型位置。
  • 我相信最好将它(也)作为单独的答案,因为它会更容易找到。
  • @Andreas 另一个问题是我们用于所有关于 PHP 符号的问题,因为它们很难搜索。 Stack Overflow 不喜欢重复的答案,并希望尽可能有一个规范的所有知识来源。
  • @Andreas 这是社区决定应该做的事情,而且效果很好。如果你想改变这一点,你可以把它带到 meta 但我认为你不会收到热烈的回应。
  • @JohnConde 我个人非常讨厌一英里长的规范。我找到了一个更具体的副本并添加到列表中。
猜你喜欢
  • 2010-12-30
  • 2021-08-19
  • 2011-04-13
相关资源
最近更新 更多