检查所有是否已设置
if(
isset($var1) &&
isset($var2) &&
isset($var3)
){}
可以重写为
if(isset($var1,$var2,$var3)){}
但if any 的语法是什么?
if(
isset($var1) ||
isset($var2) ||
isset($var3)
){}
看起来很难看;有没有更好的方法来写这个?
答案 0 :(得分:2)
你必须传递字符串而不是变量,但为了好玩:
if(compact('var1', 'var2', 'var3')) {
echo 'one or more is set';
} else {
echo 'none are set';
}
答案 1 :(得分:1)
我想有人可以编写一个简单的函数来使用,但可能有一种更简洁的方法。
function anyset(...$vars){
foreach($vars as $var){
if(isset($var)){
return true;
}
}
return false;
}
if(anyset($var1,$var2,$var3)){}