2015-07-02 2 views
0

Есть ли лучший способ проверить этот кусок кода,Предложить лучший способ использования этого условного оператора

if (is_string($test) && $test != NULL) { 
    $test = 'yes'; 
} else { 
    $test = null; 
} 

И

if (is_null($test) || !isset($this->_status[$test])) { 
    $icon = null; 
} else { 
    $icon = $this->getImage($this->_status[$test]); 
} 
+0

если '$ test' является строкой, это не пустой. –

+0

@Andrew: это неверно. Это может быть строка и по-прежнему вычислять значение NULL (например, пустая строка). Вы были бы абсолютно правы с '! =='. – JayTaph

+0

@JayTaph Да, правильно, не обращали внимания. Удалено комментарий. – Andrew

ответ

1

Лучше путь вы имеете в виду за счет сокращения линии кодов? Как насчет использования тернарного оператора.

$test = is_string($test) ? "Yes" : NULL 
0

Вы можете использовать сокращенную если/другое, используя оператор троичного

$test = (is_string($test) and $test != NULL) ? 'yes' : null; 
$icon = (is_null($test) or ! isset($this->_status[$test])) ? null : $this->getImage($this->_status[$test]); 
Смежные вопросы