我一直在处理这段代码以返回一个布尔值,当变量在foreach
语句中查找一行时,会被true或false覆盖。但是当我在我的视图文件中传递它时,没有值/出现。你能帮我解释为什么会发生这种情况吗?我如何成功传递布尔值?
查看档案
echo TestController::Showprerequisites(29005);
模型
$validator;
foreach($prereq as $values){
if(FinishedSubjects::find()->where(['subjectname' => $values['col']])->exists()){
$validator = true;
} else {
$validator = false;
}
}
return $validator;
控制器
public function Showprerequisites($trno){
$model = new TestModel();
return $model->Showprerequisites($trno);
}
EDIT 查看更新
$preq = TestController::Showprerequisites(29005);
if($preq = true){
echo 'Pre requites completed/read';
} else if($preq = false) {
echo 'Pre requisites not completed/not read';
}
答案 0 :(得分:1)
您的代码中存在逻辑错误,您在if条件中分配值然后检查,它始终返回true。
而不是:
if($preq = true){
你也可以这样检查:
if($preq){ // if $preq is true then this line will work.