在if语句中处理变量-PHP
这可能是一个愚蠢的问题,但如何最好地处理由PHP中的if语句创建的变量 因此,下面的代码可以工作,但是如果我将数字10更改为30,那么if语句将为false,$class将是未定义的,这将抛出一个错误 处理这个问题的最佳方法是什么?我应该在if语句之前将$class定义为null吗在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
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>';