2013-02-21 2 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 имеет '?:' –

+0

Нет. В PHP вы просто получите логическое значение. –

+0

Что именно квалифицируется как «пустое»? Являются ли переменные * несуществующими * (не определены) или могут быть просто «нулями». Если последнее, это только «null» или «== false»? – deceze

ответ

0

не могу думать иначе, чем это:

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

«Я знаю, что вы можете использовать трехмерный оператор, но это не то, что я ['m] спрашиваю [для] –

0

вы можете использовать один из двух способов, что подходит вам. обе эти функции будут проверять либо у нас есть непустая переменная, либо нет.

1: $a = (isset($b) && $b)?$b:$c; 
2: if($b) 
     $a = $b; 
    elseif($c) 
     $a = $c; 
Смежные вопросы