use*_*430 1 php mysql foreach if-statement
嗨,我在这里有这个代码:
public function length($args) {
if (isset($this->length)) {
foreach ($this->length as $k => $v) {
if (strlen($args[$k])>=$v[0] && strlen($args[$k])<$v[1]) {
return true;
} else {
array_push($this->form_errors, $v[2]);
return false;
}
}
} else {
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
我不确定为什么,但它没有按预期工作.foreach循环只循环遍历$ args [$ k]中的一个,即使其中有2个.任何人都知道最新情况怎么样?我正急着写这个问题,所以如果我需要解释别的,请告诉我.
谢谢!
return在if()子句两边的两个语句在循环的第一次迭代时终止函数.strlen的东西是真的,你返回true,或者它们是假的,你返回false.无论如何,循环结束.
如果您只是想跳转到下一个迭代,那么请continue改用,这样就可以继续前进.