我可以在 PHP if 条件中定义变量吗?

2022-08-30 12:40:17

例如,我可以做:

if ($my_array = wp_get_category($id)) {
    echo "asdf";
} else {
    echo "1234";
}

如果函数没有返回任何内容,我想进入 else 语句。


答案 1

是的,这将起作用,并且该模式经常使用。

如果为 分配了值,则将满足条件。$my_array

密码键盘

<?php

function wp_get_category($id) {
   return 'I am truthy!';
}

if ($my_array = wp_get_category($id)) {
    echo $my_array;
} else {
    echo "1234";
}

反之亦然...

如果函数没有返回任何内容,我想进入 else 语句。

不返回任何内容的函数将返回 ,这是 falseyNULL

密码键盘

<?php

function wp_get_category($id) {
}

if ($my_array = wp_get_category($id)) {
    echo $my_array;
} else {
    echo "1234";
}

答案 2

这实际上是一种常见的模式,并且会起作用。但是,您可能需要三思而后行,将其用于更复杂的情况,或者根本没有。想象一下,如果有人维护你的代码,看到

if ($x = one() || $y = two() && $z = three() or four()) {

}

最好先声明变量,然后再在条件变量中使用变量。


推荐