2015-09-17 4 views
-5

Являются ли эти выражения одинаковыми? который более эффективен?Какой самый эффективный способ работы вокруг первого или следующего?

Выражение 1:

$a = 'default'  
if($b != "") $a = $b; 

Expression 2:

$a = $b == "" ? "default" : $b; 

Проводит ли $ в тот же результат в обоих случаях?

+0

Ok! Спасибо за помощь. Я знаю, и я это пробовал, я хотел спросить, если бы я чего-то не думал. Когда человек задает вопрос, даже простой, сообщество поднимается с гневом ... это не дух. Если вы не хотите отвечать чем-то полезным, лучше не отвечать вообще. – Braza

+1

Я думаю, вам нужно задать вопрос каким-то другим способом, например: «Какой самый эффективный способ работать с первым или рядом». Но в этом случае он подходит для http://codereview.stackexchange.com/ –

ответ

0

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

$a = $b == "" ? "default" : $b; 
1

вы можете легко проверить небольшие PHP фрагменты в командной строке, запустив его в интерактивном режиме:

$ php -a

Здесь вы можете написать код:

$a = "test"; 

$b = $a; 
$b = $b == "" ? "default" : $b; 

var_dump($b); 

$c = $a == "" ? "default" : $a; 

var_dump($c); 
1

Это должно быть то же самое - но Я бы пошел на выражение 2. Я бы написал так:

$this->a = ($r[0] == "") ? "default" : $r[0];