實作步驟:1、定義一個變數並賦值為0,用於控制迴圈元素個數,語法「$con=0;」;2、用foreach語句循環遍歷數組,語法「foreach($ arr as $k=>$v){//循環體;}”;3、在循環體中,每循環遍歷一個元素,設定變數「$con」自增1,當變數「$con」的值為N時,用break語句跳出迴圈即可,語法「$con ;if($con==N){break;}」。
本教學操作環境: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); ?>
擴充知識:跳出迴圈語句break與continue
1、使用continue語句
continue語句的作用是跳出本次循環,接著執行下一次迴圈(放棄continue語句之後的程式碼並進行下一次迴圈)。
下面我們透過程式碼範例來看看。
範例1:輸出1~10 之間的所有偶數(偶數能被2整除)
<?php for ($i = 1; $i <= 10; $i++) { if($i % 2 != 0) { continue; } echo $i.' <br>'; } ?>
分析:
for ($i = 1; $i 語句可以循環得到1~10 之間的所有數字
if($i % 2 != 0)
語句用來判斷$i
的值能整除2,不能整除則()
中值為true,則執行continue;
語句。
在迴圈體中,使用if($i % 2 != 0)
語句進行判斷,如果$i的值能整除2就使用「echo $i
」輸出;如果$i的值不能整除2,則觸發continue;
語句,跳出本次迴圈(不進行輸出),執行下一次迴圈。
輸出結果:
#2、使用break語句
# break語句用於跳出目前的語法結構,可以終止循環體的程式碼並立即跳出目前的循環,執行循環之後的程式碼。
break和continue的不同點是:continue語句只是結束本次循環,而 break 語句會終止整個迴圈的執行。
沿用上面的範例1中程式碼,將continue;
換成break;
,會輸出什麼?
<?php for ($i = 1; $i <= 10; $i++) { if($i % 2 != 0) { break; } echo $i.' <br>'; } ?>
答案是:什麼也不輸出。為什麼會這樣尼?讓我們來分析一下:
forx迴圈一開始,$i=1
,1小於10嗎?當然,然後開始執行迴圈中的if($i % 2 != 0)
語句;
那麼1能整除2嗎?顯然是不能,因此()
中值為true,則執行if中的「break;」語句,直接跳出整個循環了,根本沒有機會執行「echo $i.' '
”語句。
推薦學習:《PHP影片教學》
以上是php數組怎麼循環前幾個元素的詳細內容。更多資訊請關注PHP中文網其他相關文章!