如何检查是否设置了任何变量?

时间:2016-11-08 20:53:34

标签: php

检查所有是否已设置

if(
    isset($var1) &&
    isset($var2) &&
    isset($var3)
){}

可以重写为

if(isset($var1,$var2,$var3)){}

但if any 的语法是什么?

if(
    isset($var1) ||
    isset($var2) ||
    isset($var3)
){}

看起来很难看;有没有更好的方法来写这个?

2 个答案:

答案 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)){}