2013-02-21 99 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;