96

如果 PHP 中不存在某个变量,是否有一种速记方法可以将其分配给某个变量?

if(!isset($var) {
  $var = "";
}

我想做类似的事情

$var = $var | "";
4

2 回答 2

292

PHP 7 更新(感谢shock_gone_wild

PHP 7 引入了null 合并运算符,它将以下语句简化为:

$var = $var ?? "default";

PHP 7 之前

不,对此没有特殊的运算符或特殊的语法。但是,您可以使用三元运算符:

$var = isset($var) ? $var : "default";

或者像这样:

isset($var) ?: $var = 'default';
于 2013-09-03T23:55:53.557 回答
56

PHP 7.4+;使用null 合并赋值运算符

$var ??= '';

PHP 7.0+ ; 使用空合并运算符

$var = $var ?? '';

PHP 5.3+;使用三元运算符速记

isset($var) ?: $var = '';

或者对于使用isset的所有/旧版本

$var = isset($var) ? $var : '';

或者

!isset($var) && $var = '';
于 2013-09-03T23:57:16.517 回答