PHP从$ _GET ['var']设置变量

时间:2013-11-05 13:28:43

标签: php

是否可以从$_GET['var']设置一个变量值来做这样的事情:

if( $foo = isset($_GET['foo']) ) // Or something close to this. 
I.e if $_GET['foo'] is set assign it's value then and there

而不是像我现在这样做

if( isset($_GET['foo']) )
$foo = $_GET['foo'];

当它只有一两个时,这是可以的,但是当你有10个以上的$ _GET时,就像我一样,它变得丑陋。

3 个答案:

答案 0 :(得分:1)

用户三元运营商

 $foo = isset($_GET['foo']) ? $_GET['foo'] : "";

答案 1 :(得分:1)

$foo = !empty($_GET['foo']) ? $_GET['foo'] : null;

答案 2 :(得分:0)

不,这是不可能的。你可以用三元语句简写,但这不是很笨重。

您可以做的最好的事情就是编写如下函数:

function extractFromGet(array $keys) {
    $ret = []; // empty array

    foreach ($keys as $key) {
        $ret[$key] = isset($_GET[$key]) ? $_GET[$key] : null;
    }

    return $ret;
}

然后您可以按如下方式调用它:

list ($name, $email, $telephone, $address) = extractFromGet(
    ['name', 'email', 'telephone', 'address']
);