2015-07-02 3 views
1

В JavaScript я могу написать что-то вроде:В PHP результате возврата или пустой массив

var result = Whatever() || []; 

и если Whatever() возвращает null или undefined, переменная result будет содержать пустой массив.

Есть ли аналогичный ярлык в PHP? Это просто возвращает ложь:

$result = Whatever() || array(); 

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

$whatever = Whatever(); 
$result = $whatever ? $whatever : array(); 

, который кажется уродливым и не очень читаемый. Есть ли лучший образец?

+0

'вернуть Whatever()? Whatever(): []; 'или' return What whatever()? Whatever(): array() '- как вы сказали, это ваши лучшие ставки - он называется Тернарным оператором или сокращенно: http://davidwalsh.name/php-shorthand-if-else-ternary-operators – CD001

ответ

2

Остановить чтение старых сообщений php в Интернете. Вы можете легко сделать

$result = Whatever() ?: array(); 

PHP 5.3+

И Нету, Whatever() не будет вызываться дважды.

Fiddle