首页 > 解决方案 > 当我希望仅在第一个条件为真时才调用函数时,将函数作为 IF 的第二个条件传递是否安全?

问题描述

我正在调用一个函数来在 SQL 中插入一些东西,我想知道将该函数作为 if 语句的第二个条件是否安全,以及是否仅在第一个条件为真时才调用它,并且我想知道这是否也是一种好习惯;

我知道我可以在 if 中包含另一个 if,它会正常工作,但我试图不包含太多不必要的 if 语句。这与想知道使用嵌套 IF 是否更好是不同的,因为我想知道的是当第一个条件评估为 false 时是否会调用该函数。

if (empty($err) && InsertSQL($args)) {
 echo "success";
} else {
 $err .= "fail to insert";
}

echo $err;

如果 $err 中没有错误并且函数返回 true,我希望它输出成功,如果有错误或者如果没有错误但函数返回 false,则“插入失败”和另一个错误,我会只是得到“插入失败”

标签: php

解决方案


是的,&& 短路。因此,如果第一个条件失败,它不会打扰评估第二个条件。因此,InsertSQL()不会调用该函数。


推荐阅读