我喜欢在Perl中做这种事情:如果$bar是空的或未定义的,则将$baz赋值给$foo.还有$foo ||= $bletch,如果$foo没有定义或为空,那么它只会将$bletch分配给$foo.

这种情况下的三元运算符是单调乏味的.在PHP中肯定有一种简单、优雅的方法可用?

或者,唯一的答案是使用isset()的自定义函数吗?

推荐答案

在PHP7中,我们终于有了一种优雅的方法.它被称为Null coalescing operator.你可以这样使用它:

$name = $_GET['name'] ?? 'john doe';

这相当于

$name = isset($_GET['name']) ? $_GET['name']:'john doe';

Php相关问答推荐

如何将对我的域的请求重定向到子文件夹中的索引,同时保留域URL并使用.htaccess?

如何减少Laravel分页中的链接数

WooCommerce常规价格增加额外的附加平价

在WooCommerce管理中 for each 运输方法设置添加自定义字段

fpm-php + nginx + POST数据

Laravel自定义验证规则更正

Font Awesome 加载图标未显示在 WooCommerce 管理员列表中

使用自定义插件中的 WooCommerce 模板发送自定义邮箱

PHP 中的curl -F request=@file.xml

URL中包含"&"与DirectoryIterator不兼容

Laravel使用另一张表进行关联查询

PHP:如何将多列sql查询结果转换成数组

如何在 laravel 中的同一个 slug 上显示不同的内容?

如何故意创建不同的错误(404,500,419)? Lavravel PHP

使用php删除数组中相同数字的所有变体

列表不在 GROUP BY 子句中并且包含 X2CRM 中的非聚合列

如何获取最后一条消息属于 Laravel 中特定用户的对话列表

如何将 2021-04-08T22:25:09.335541Z 作为时间戳保存到 Laravel 中的数据库中?

无法按今天加上 7 天显示数据库项目

withSum 在 laravel eloquent 中的深层嵌套关系