变量不返回布尔值yii 2

时间:2016-09-07 11:22:42

标签: php yii2

我一直在处理这段代码以返回一个布尔值,当变量在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';
}

1 个答案:

答案 0 :(得分:1)

您的代码中存在逻辑错误,您在if条件中分配值然后检查,它始终返回true。

而不是:

if($preq = true){

你也可以这样检查:

if($preq){ // if $preq is true then this line will work.