【发布时间】:2018-12-01 21:33:10
【问题描述】:
我一次又一次地进行这种测试,我觉得有一种更优雅的方法可以做到这一点。
(isset($country['capital'])) ? $country['capital'] : null
你能帮帮我吗?
【问题讨论】:
-
isset()周围的括号没有用。在嵌套它们或字符串连接时将整个三元运算符放在括号之间。但是如果你有 PHP7,那么 null 合并运算符就是要走的路
我一次又一次地进行这种测试,我觉得有一种更优雅的方法可以做到这一点。
(isset($country['capital'])) ? $country['capital'] : null
你能帮帮我吗?
【问题讨论】:
isset() 周围的括号没有用。在嵌套它们或字符串连接时将整个三元运算符放在括号之间。但是如果你有 PHP7,那么 null 合并运算符就是要走的路
从 PHP 7 开始你可以这样做
$country['capital'] ?? null;
【讨论】:
您可以在Laravel Blade template 中使用or 运算符
$country['capital'] or null
而在 php 7 中,您可以使用 Null 合并运算符
$country['capital'] ?? null
已添加空合并运算符 (??) 作为语法糖 对于需要结合使用三元的常见情况 伊塞特()。如果存在且不为 NULL,则返回其第一个操作数; 否则返回第二个操作数。
【讨论】:
or 不会做太多事情。这不是 Laravel,而是 PHP(除非我真的错过了关于 Laravel 重载 PHP 运算符的一些东西!?)。