php - 缩短检查多个变量是否为空的方式
问题描述
我正在检查 11 个变量是否为空,并在此基础上向数组添加一个值。变量不在数组中,如果可能的话,我想保持这种状态。
if (!empty($var1)) {
$Data[] = $var1;
} else {
$Data[] = ' - ';
}
if (!empty($var2)) {
$Data[] = $var2;
} else {
$Data[] = ' - ';
}
if (!empty($var3)) {
$Data[] = $var3;
} else {
$Data[] = ' - ';
}
有没有更好/更短的方法来完成上述操作?
解决方案
您可以使用三元运算符
如果你可以这样做,最好的办法是遍历你的变量:
使用三元运算符:
$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 : ' - ';