使用短路获取第一个非空变量
2022-08-30 16:51:47
PHP中的以下内容(基于JS样式)的等效项是什么:
echo $post['story'] || $post['message'] || $post['name'];
因此,如果故事存在,那么发布它;或者如果消息存在发布,等等...
PHP中的以下内容(基于JS样式)的等效项是什么:
echo $post['story'] || $post['message'] || $post['name'];
因此,如果故事存在,那么发布它;或者如果消息存在发布,等等...
它将是(PHP 5.3 +):
echo $post['story'] ?: $post['message'] ?: $post['name'];
对于 PHP 7:
echo $post['story'] ?? $post['message'] ?? $post['name'];
有一个单行线,但它并不短:
echo current(array_filter(array($post['story'], $post['message'], $post['name'])));
array_filter
将返回备选项列表中的所有非空条目。而 current
只是从过滤的列表中获取第一个条目。