我想让for循环返回单个值(TRUE / FALSE)。但代码返回多个值。像TRUETRUETRUE一样。我理解代码,但没有任何想法。
public function user_activation_check(){
for($i=1;$i<5;$i++){
$query = $this->db->query("SELECT group_info.member".$i." FROM `group_info` INNER JOIN `user_student` ON group_info.member$i=user_student.email WHERE user_student.email=group_info.member$i");
if($query->num_rows()==1){
//return TRUE;
echo"true";
}else {
//return FALSE;
echo"false";
}
}
}
请帮助。
更新:
public function member_activation(){
if($this->model_users->user_activation_check()){
$this->load->view('v_confirm_group');
}else echo "Some members didn't activate their account.";
}
答案 0 :(得分:4)
使用与:
相同的数组 $res = array():
for($i=1;$i<5;$i++){
$query = $this->db->query("SELECT group_........");
if($query->num_rows()==1){
$res[] = TRUE;
}else {
$res[] = FALSE;
}
}
return $res;
答案 1 :(得分:1)
我认为这就是你想要的:
public function user_activation_check(){
for($i=1;$i<5;$i++){
$query = $this->db->query("SELECT group_info.member".$i." FROM `group_info` INNER JOIN `user_student` ON group_info.member$i=user_student.email WHERE user_student.email=group_info.member$i");
if($query->num_rows()==1){
// do nothing
}else {
echo "false"; // *atleast* one member didn't.
return FALSE;
}
}
echo "true";
return TRUE;
}
答案 2 :(得分:0)
它回显了多个值,因为您正在运行循环。它将回显五个值,每个值对应一个循环。如果您只希望回显一次,请使用return
。函数可以多次回显,但只能返回一个值。当它返回true或false时,它结束函数的执行。