[英]PHP - If statement not working correctly in foreach loop
嗨,我在這里有這段代碼:
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;
}
}
我不知道為什么,但是沒有按預期工作。 即使有兩個,foreach循環也只能循環通過$ args [$ k]之一。 有人知道發生了什么嗎? 我急着寫這個問題,所以如果我需要解釋什么,請告訴我。
謝謝!
在if()
子句兩側的兩個return
語句在循環的第一次迭代中終止函數。 不滿意的內容為true,則返回true,或者為false,則返回false。 無論如何,循環結束。
如果您只是想跳到下一個迭代,請改用continue
,這樣可以讓foreach繼續進行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.