php數組怎麼循環前幾個元素

青灯夜游
發布: 2023-03-16 18:30:01
原創
2018 人瀏覽過

實作步驟:1、定義一個變數並賦值為0,用於控制迴圈元素個數,語法「$con=0;」;2、用foreach語句循環遍歷數組,語法「foreach($ arr as $k=>$v){//循環體;}”;3、在循環體中,每循環遍歷一個元素,設定變數「$con」自增1,當變數「$con」的值為N時,用break語句跳出迴圈即可,語法「$con ;if($con==N){break;}」。

php數組怎麼循環前幾個元素

本教學操作環境:windows7系統、PHP8.1版、DELL G3電腦

在php陣列中,可以藉助foreach語句和break語句來循環前N個元素。

實作步驟:

步驟1:定義一個變數並賦值為0,用於控制迴圈遍歷次數(元素個數)。

$con=0;
登入後複製

步驟2:使用foreach語句循環遍歷數組

foreach是專門為遍歷數組而設計的語句,是遍歷數組時常用的方法,在遍歷數組方面提供了很大的便利

foreach語句遍歷數組與數組下標無關,且可以用於不連續的索引數組和以字符串為下標的關聯數組。

此語句有兩種語法格式:

  • 語法格式1:

foreach ($array as $value){
    //循环体语句块;
}
登入後複製

遍歷給定的 $array 數組,在每次循環中將目前數組的值賦給 $value。

  • 語法格式2:

foreach ($array as $key => $value){
    //循环体语句块;
}
登入後複製

遍歷給定的 $array 數組,每次循環中都會將目前數組的值賦給$value,鍵名賦給 $key。

步驟3:在迴圈體中,設定變數$con自增1,當變數$con的值為N時,使用break語句跳出迴圈

  • 每迴圈遍歷一個元素,就將變數$con的值加1

  • 然後判斷變數$con值是否為N,如果是則使用break語句跳出迴圈

  • 如果不是則繼續遍歷元素

#
$con++;
if($con==N){ //循环遍历前N个元素
	break;
}
登入後複製

完整範例程式碼:循環遍歷前5個元素

<?php
header("Content-type:text/html;charset=utf-8"); 
$arr=[1,2,3,4,5,6,7,8,9];
var_dump($arr);
$con=0;
foreach($arr as $k=>$v){
	$res[$k]=$v;
$con++;
if($con==5){ //循环遍历前5个元素
	break;
}
}
echo "循环遍历前5个元素:";
var_dump($res);
?>
登入後複製

php數組怎麼循環前幾個元素

擴充知識:跳出迴圈語句break與continue

1、使用continue語句

continue語句的作用是跳出本次循環,接著執行下一次迴圈(放棄continue語句之後的程式碼並進行下一次迴圈)。

下面我們透過程式碼範例來看看。

範例1:輸出1~10 之間的所有偶數(偶數能被2整除)

<?php
    for ($i = 1; $i <= 10; $i++) {
        if($i % 2 != 0) {
            continue;
        }
        echo $i.&#39; <br>&#39;;
    }
?>
登入後複製

分析:

  • for ($i = 1; $i <= 10; $i ){}語句可以循環得到1~10 之間的所有數字

  • if($i % 2 != 0)語句用來判斷$i的值能整除2,不能整除則()中值為true,則執行continue;語句。

  • 在迴圈體中,使用if($i % 2 != 0)語句進行判斷,如果$i的值能整除2就使用「echo $i」輸出;如果$i的值不能整除2,則觸發continue;語句,跳出本次迴圈(不進行輸出),執行下一次迴圈。

輸出結果:

php數組怎麼循環前幾個元素

#2、使用break語句

# break語句用於跳出目前的語法結構,可以終止循環體的程式碼並立即跳出目前的循環,執行循環之後的程式碼。

break和continue的不同點是:continue語句只是結束本次循環,而 break 語句會終止整個迴圈的執行。

沿用上面的範例1中程式碼,將continue;換成break;,會輸出什麼?

<?php
    for ($i = 1; $i <= 10; $i++) {
        if($i % 2 != 0) {
            break;
        }
        echo $i.&#39; <br>&#39;;
    }
?>
登入後複製

答案是:什麼也不輸出。為什麼會這樣尼?讓我們來分析一下:

forx迴圈一開始,$i=1,1小於10嗎?當然,然後開始執行迴圈中的if($i % 2 != 0)語句;

那麼1能整除2嗎?顯然是不能,因此()中值為true,則執行if中的「break;」語句,直接跳出整個循環了,根本沒有機會執行「echo $i.' '”語句。

推薦學習:《PHP影片教學

以上是php數組怎麼循環前幾個元素的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板