为了逻辑和更快的目的,每当你让PHP使用and条件尝试两个语句时,如果第一个失败,他就不会尝试第二个。。。出于逻辑和更快的目的,这确实很漂亮,但在我的情况下,我需要知道第二条语句是否也不起作用,所以我不需要让用户多次浏览同一页面,因为错误与以前不同。。。
所以,假设我有这个:
if ($firstModel->validate() && $secondModel->validate()) {$sayCheese;}
我如何让它两者都试?
我确实考虑过将模型分开,但我只想知道是否有其他选择。
编辑:我的表单同时有多个针对不同模型的插入,因此如果仅针对单个模型,验证效果很好,而且由于我需要同时尝试两个或多个,因此必须不要停留在第一个语句。
if ($firstTry & $thenTry) {$sayCheese;}
这将执行逐位和,并检查$thenCtry,即使$firstTry为false。
编辑:注意,我只是天真地回答你的问题,但我不完全确定你为什么会现实地想这样做。
您应该考虑拆分检查和if条件
$firstTry = checkOne();
$thenTry = checkTwo();
if ($firstTry && $thenTry) {
echo $sayCheese;
} else {
echo "check 1: ".($firstTry ? 'ok' : 'bad')."<br>";
echo "check 2: ".($firstTry ? 'ok' : 'bad')."<br>";
}