簡體   English   中英

PHP通過條件循環遍歷數組

[英]PHP loop through array with condition

我有這樣一個循環:

$arr = array(1, 2, 3, 4, 5, 6, 7);
foreach ($arr as &$value) {
    echo $value;
}

我的循環結果顯示了這一點:

1234567

我只想顯示數字1到4。當數字達到4時,應該加一個中斷,然后繼續5671。

因此,一個示例是:

1234<br>
5671<br>
2345<br>
6712<br>

我必須這樣做,但是我不知道從哪里開始,非常歡迎所有提示/提示,也沒有評論我應該使用Google的任何方向。

這將產生您想要的確切結果

$arr = array(1, 2, 3, 4, 5, 6, 7);
$k=0;
for($i=1;$i<=5;++$i){
  foreach ($arr as &$value) {
    ++$k;
     echo $value;
     if($k %4 == 0) {
    echo '<br />';
   $k=0;
}
}
}

這是更通用的功能-您可以傳遞數組作為參數,以及要顯示的元素數量。

<?php

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

function getFirstValues(&$array, $amount){
    for($i=0; $i<$amount; $i++){
        echo $array[0];
        array_push($array, array_shift($array));
    }
    echo "<br />";
}

getFirstValues($array, 4);
getFirstValues($array, 4);
getFirstValues($array, 4);
getFirstValues($array, 4);


?>

結果是:
1234
5671
2345
6712

您正在尋找array_chunk()

$arr = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13);
$chunks = array_chunk($arr, 4);
foreach ($chunks as $array) {
    foreach ($array as $value) {
        echo $value;
    }
    echo "<br />";
}

輸出為:

1234
5678
9101112
13

暫無
暫無

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

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