2013-02-21 122 views
0

的援助分配变量是有一些简短的方式做到这一点与布尔运算符

if (!empty($b)) 
    $a = $b; 
else if (!empty($c)) { 
    $a = $c; 

我知道你可以使用三元运算符,但它不是我问这样的JavaScript中存在的方式来分配这样

my_var = some_Var || fu_bar || 0; 

所以如果第一个不存在它使用第二个,如果第二个不存在它使用第三个。

在php中是否有类似的东西?

+1

哪个版本? PHP 5.4有'?:' – 2013-02-21 17:14:39

+0

没有。在PHP中,你只会得到一个布尔值。 – 2013-02-21 17:15:25

+0

究竟什么是“空”的资格?变量*不存在*(未定义)或者它们可能仅仅是'null'。如果是后者,它只是'null'还是'== false'?的 – deceze 2013-02-21 17:15:49

回答

0

想不出其他办法比这

$a = ! empty($b) ? $b : (! empty($c) ? $c : 0) 
+1

“我知道你可以使用三元运算符,但它不是我['M]问[供]” – 2013-02-21 17:17:36

0

你可以使用任何的适合您的两种方式之一。这两个函数都会检查我们是否有非空变量。

1: $a = (isset($b) && $b)?$b:$c; 
2: if($b) 
     $a = $b; 
    elseif($c) 
     $a = $c;