在if语句中处理变量-PHP

在if语句中处理变量-PHP,php,variables,if-statement,Php,Variables,If Statement,这可能是一个愚蠢的问题,但如何最好地处理由PHP中的if语句创建的变量 因此,下面的代码可以工作,但是如果我将数字10更改为30,那么if语句将为false,$class将是未定义的,这将抛出一个错误 处理这个问题的最佳方法是什么?我应该在if语句之前将$class定义为null吗 if( 10 < 20 ) { $class = 'less'; } echo '<div class="number ' . $class . '">10</div>'; if

这可能是一个愚蠢的问题,但如何最好地处理由PHP中的if语句创建的变量

因此,下面的代码可以工作,但是如果我将数字10更改为30,那么if语句将为false,$class将是未定义的,这将抛出一个错误

处理这个问题的最佳方法是什么?我应该在if语句之前将$class定义为null吗

if( 10 < 20 ) {
  $class = 'less';
}

echo '<div class="number ' . $class . '">10</div>';
if(10<20){
$class=‘更少’;
}
回音‘10’;

像这样处理。是,您应该在if语句之前将
$class
定义为null

$class = "";
if( 10 < 20 ) {
    $class = 'less';
  }

  echo '<div class="number ' . $class . '">10</div>';
$class=”“;
如果(10<20){
$class=‘更少’;
}
回音‘10’;
您可以在此处结合使用:

if(10<20){
$class=‘更少’;
}
回音‘10’;
请注意,虽然在使用前最好检查是否存在某些内容,但您当前的代码是正常的。PHP将抛出一个关于使用未定义索引的通知,但不会出现致命错误


但是,我仍然建议使用
empty()
进行检查-最好是有一个完美的代码,PHP不会抛出错误/通知。

这既不绑定到PHP,也不绑定到
(如果
)。当一种语言允许您“动态”创建变量时,它仅仅是一个可选特性,而不是考虑整体逻辑的特性

始终在使用变量的级别上创建变量。如有疑问,请先执行此操作。

您可以使用PHP函数来确定是否声明了一个变量,并且该变量与NULL不同:

echo '<div class="number ' . isset($class) ? $class : '' . '">10</div>';
echo'10';

可以使用带括号的空合并运算符

if( 10 < 20 ) {
  $class = 'less';
}

echo '<div class="number ' . ($class ?? '') . '">10</div>';
if(10<20){
$class=‘更少’;
}
回音‘10’;

$class???”
(isset($class)?$class:“”)的一种简短语法。

如果语句同意此答案,您应该在前面定义
$class=“”
,这比回音中的内联三元组更容易阅读。
if( 10 < 20 ) {
  $class = 'less';
}

echo '<div class="number ' . ($class ?? '') . '">10</div>';