Например, могу ли я сделать:
if ($my_array = wp_get_category($id)) {
echo "asdf";
} else {
echo "1234";
}
Если ничего не возвращается функцией, я хочу перейти в оператор else.
Например, могу ли я сделать:
if ($my_array = wp_get_category($id)) {
echo "asdf";
} else {
echo "1234";
}
Если ничего не возвращается функцией, я хочу перейти в оператор else.
Да, это будет работать, и шаблон используется довольно часто.
Если $my_array
присваивается истинное значение, то условие wil должно быть выполнено.
<?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
, которая ложна.
<?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()) {
}
Лучше объявить переменные перед их использованием в условном выражении.
Я понял, что это интересно о правилах объявления переменной, а затем сразу же использовать ее в последующих условиях в том же самом заявлении.
Благодаря предыдущему ответу на ссылку кододела, я сделал свой собственный, чтобы проверить теорию. Предупреждение о спойлере: он работает.