php / Laravel-无论条件表达式的值如何,都达到代码路径

时间:2018-11-03 00:11:42

标签: php laravel boolean

我创建了一个名为public List<StatStudentClass> getStatistic(StudentClass sc){ List<QuizTest> resultDb=(List<QuizTest>) hibernateTemplate.find("FROM QuizTest qt WHERE qt.quiz.stClasses= ?", sc); } 的帮助程序类,该函数带有一个名为UuidHelper的函数,该函数返回布尔值。我正在提示它以返回布尔值。

IsValidUuid

我正在Homestead Vagrant盒子上测试代码。

public static function IsValidUuid($uuid) : bool {
    ...
}

$isValid = \UuidHelper::IsValidUuid($employee_uuid); if ($isValid) dd($isValid); 按此处的预期工作,返回dd(),但是当我在true语句中取消$ isValid时(这是 only 更改,正在制作),就像这样:

if()

if (!$isValid) dd($isValid); 现在返回dd()。否定false语句中的表达式时,$isValid的值为什么会变化?为什么在这两种情况下都运行if()?此代码路径不应到达。

只是为了踢球,我还尝试了以下方法,而不是NOT运算符:

dd()

具有相同的结果。

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

确保您没有多次调用该函数-其中之一可能传递了错误的UUID。