簡體   English   中英

使用if語句更改foreach循環

[英]Using an if statement to alter a foreach loop

我有一個循環。 它回顯數組中的每個項目。 但是,我想用一些自定義內容包裝其中一項。 目前,我可以這樣做,但是不必要地重復了。 這是我的循環:

$arr = array(1,2,3,4,5,6);

foreach ($arr as $key) {
    if ($key == 5) {
        echo 'wrap';
        echo $key;
        echo 'wrap';
    }
        echo $key;
}

產生:

1
2
3
4
WRAP
5
WRAP
5 <--- remove
6

如您所見, $key 5正在復制。 我只需要在調用它時包裝一次即可。 有沒有辦法只回聲5次?

如當前所寫, if塊之后的echo語句將在每次循環迭代中執行。 您只希望在$key的值不為 5時發生這種情況。 因此,使用else塊:

foreach ($arr as $key) {
    if ($key == 5) {
        echo 'wrap';
        echo $key;
        echo 'wrap';
    } else {
        echo $key;
    }
}

那這個呢:

$arr = array(1,2,3,4,5,6);

foreach ($arr as $key) {
    if ($key == 5) {
        echo 'wrap';
        echo $key;
        echo 'wrap';
    } else {
        echo $key;
}
}

是的,簡單,只需添加一個“ else”語句:

$arr = array(1,2,3,4,5,6);

foreach ($arr as $key) {
    if ($key == 5) {
        echo 'wrap';
        echo $key;
        echo 'wrap';
    } else {
        echo $key;
    }    
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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