【发布时间】:2013-09-07 08:03:03
【问题描述】:
如果某个变量在 PHP 中不存在,是否有一种速记方法可以将其分配给某个变量?
if(!isset($var) {
$var = "";
}
我想做类似的事情
$var = $var | "";
【问题讨论】:
-
$val = isset($var) ? $var : '';适合你吗?
如果某个变量在 PHP 中不存在,是否有一种速记方法可以将其分配给某个变量?
if(!isset($var) {
$var = "";
}
我想做类似的事情
$var = $var | "";
【问题讨论】:
$val = isset($var) ? $var : ''; 适合你吗?
PHP 7 更新(感谢shock_gone_wild)
PHP 7 引入了所谓的 null 合并运算符,它将以下语句简化为:
$var = $var ?? "default";
PHP 7 之前
不,对此没有特殊的运算符或特殊的语法。但是,您可以使用三元运算符:
$var = isset($var) ? $var : "default";
或者像这样:
isset($var) ?: $var = 'default';
【讨论】:
$attribute['hint'] ?? '' 未定义索引:提示
PHP 7.4+;与null coalescing assignment operator
$var ??= '';
PHP 7.0+;与null coalescing operator
$var = $var ?? '';
PHP 5.3+;与ternary operator shorthand
isset($var) ?: $var = '';
或者对于带有 isset 的所有/旧版本:
$var = isset($var) ? $var : '';
或
!isset($var) && $var = '';
【讨论】: