猿问

缩短检查多个变量是否为空的方式

我正在检查 11 个变量是否为空,并基于此向数组添加一个值。变量不在数组中,如果可能,我想保持这种方式。


if (!empty($var1)) {

  $Data[] = $var1;

} else {

  $Data[] = ' - ';

}


if (!empty($var2)) {

  $Data[] = $var2;

} else {

  $Data[] = ' - ';

}


if (!empty($var3)) {

  $Data[] = $var3;

} else {

  $Data[] = ' - ';

}

有没有更好/更短的方法来执行上述操作?


慕容708150
浏览 151回答 2
2回答

慕运维8079593

您可以使用三元运算符如果您可以这样做,最好的方法是遍历您的变量:使用三元运算符:$variables = [ $var1, $var2, $var3 ]foreach ($variables as $var){    $Data[] = !empty($var) ? $var: ' - ';}使用 if/else 语句:$variables = [ $var1, $var2, $var3 ]foreach ($variables as $var){    if( !empty($var) ){        $Data[] = $var;    }else{        $Data[] = ' - ';    }}但是,如果您不能并且仍然想为每个变量单独执行此操作:$Data[] = !empty($var1) ? $var1 : ' - ';$Data[] = !empty($var2) ? $var1 : ' - ';$Data[] = !empty($var3) ? $var1 : ' - ';
随时随地看视频慕课网APP
我要回答