簡體   English   中英

PHP-if語句在foreach循環中無法正常工作

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM