Например, могу ли я сделать:
if ($my_array = wp_get_category($id)) { echo "asdf"; } else { echo "1234"; }
Если ничего не возвращается функцией, я хочу перейти в инструкцию else.
Да, это сработает, и шаблон используется довольно часто.
Если $my_array
присваивается правдивое значение, то условие wil должно быть выполнено.
CodePad .
<?php function wp_get_category($id) { return 'I am truthy!'; } if ($my_array = wp_get_category($id)) { echo $my_array; } else { echo "1234"; }
Обратное также верно …
Если ничего не возвращается функцией, я хочу перейти в инструкцию else.
Функция, которая ничего не возвращает, вернет NULL
, что является ложным .
CodePad .
<?php function wp_get_category($id) { } if ($my_array = wp_get_category($id)) { echo $my_array; } else { echo "1234"; }
вам может понадобиться что-то вроде этого:
if (!is_null($my_array = wp_get_category($id)) { echo "asdf"; else echo "1234";
Предполагая, что функция возвращает null при ошибке. Возможно, вам придется немного подкорректировать его.
Это на самом деле общий шаблон и будет работать. Однако вы можете подумать дважды об использовании его для более сложных случаев или вообще. Представьте, если кто-то, поддерживающий ваш код, появится и увидит
if ($x = one() || $y = two() && $z = three() or four()) { }
Возможно, было бы лучше объявить переменные перед их использованием в условном выражении.
Я обнаружил, что это задается вопросом о правилах объявления переменной, а затем сразу же использовать ее в последующих условиях в одном и том же выражении.
Благодаря предыдущему ответу на кодовое слово, я сделал свой собственный, чтобы проверить теорию. Предупреждение о спойлере: он работает.