實(shí)現(xiàn)步驟:1、定義一個(gè)變量并賦值為0,用于控制循環(huán)元素個(gè)數(shù),語法“$con=0;”;2、用foreach語句循環(huán)遍歷數(shù)組,語法“foreach($arr as $k=>$v){//循環(huán)體;}”;3、在循環(huán)體中,每循環(huán)遍歷一個(gè)元素,設(shè)置變量“$con”自增1,當(dāng)變量“$con”的值為N時(shí),用break語句跳出循環(huán)即可,語法“$con++;if($con==N){break;}”。
本教程操作環(huán)境:windows7系統(tǒng)、PHP8.1版、DELL G3電腦
在php數(shù)組中,可以借助foreach語句和break語句來循環(huán)前N個(gè)元素。
實(shí)現(xiàn)步驟:
步驟1:定義一個(gè)變量并賦值為0,用于控制循環(huán)遍歷次數(shù)(元素個(gè)數(shù))。
$con=0;
步驟2:使用foreach語句循環(huán)遍歷數(shù)組
foreach是專門為遍歷數(shù)組而設(shè)計(jì)的語句,是遍歷數(shù)組時(shí)常用的方法,在遍歷數(shù)組方面提供了很大的便利
foreach語句遍歷數(shù)組與數(shù)組下標(biāo)無關(guān),且可以用于不連續(xù)的索引數(shù)組和以字符串為下標(biāo)的關(guān)聯(lián)數(shù)組。
該語句有兩種語法格式:
-
語法格式1:
foreach ($array as $value){ //循環(huán)體語句塊; }
遍歷給定的 $array 數(shù)組,在每次循環(huán)中將當(dāng)前數(shù)組的值賦給 $value。
-
語法格式2:
foreach ($array as $key => $value){ //循環(huán)體語句塊; }
遍歷給定的 $array 數(shù)組,在每次循環(huán)中會(huì)將當(dāng)前數(shù)組的值賦給 $value,鍵名賦給 $key。
步驟3:在循環(huán)體中,設(shè)置變量$con自增1,當(dāng)變量$con的值為N時(shí),使用break語句跳出循環(huán)
-
每循環(huán)遍歷一個(gè)元素,就將變量$con的值加1
-
然后判斷變量$con值是否為N,如果是則使用break語句跳出循環(huán)
-
如果不是則繼續(xù)遍歷元素
$con++; if($con==N){ //循環(huán)遍歷前N個(gè)元素 break; }
完整示例代碼:循環(huán)遍歷前5個(gè)元素
<?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){ //循環(huán)遍歷前5個(gè)元素 break; } } echo "循環(huán)遍歷前5個(gè)元素:"; var_dump($res); ?>
擴(kuò)展知識(shí):跳出循環(huán)語句break和continue
1、使用continue語句
continue語句的作用是跳出本次循環(huán),接著執(zhí)行下一次循環(huán)(放棄continue語句之后的代碼并進(jìn)行下一次循環(huán))。
下面我們通過代碼示例來看看。
示例1:輸出1~10 之間的所有偶數(shù)(偶數(shù)能被2整除)
<?php for ($i = 1; $i <= 10; $i++) { if($i % 2 != 0) { continue; } echo $i.' <br>'; } ?>
分析:
-
for ($i = 1; $i <= 10; $i++){}
語句可以循環(huán)得出1~10 之間的所有數(shù)字 -
if($i % 2 != 0)
語句用于判斷$i
的值能整除2,不能整除則()
中值為true,則執(zhí)行continue;
語句。 -
在循環(huán)體中,使用
if($i % 2 != 0)
語句進(jìn)行判斷,如果$i的值能整除2就使用“echo $i
”輸出;如果$i的值不能整除2,則觸發(fā)continue;
語句,跳出本次循環(huán)(不進(jìn)行輸出),執(zhí)行下一次循環(huán)。
輸出結(jié)果:
2、使用break語句
break語句用于跳出當(dāng)前的語法結(jié)構(gòu),可以終止循環(huán)體的代碼并立即跳出當(dāng)前的循環(huán),執(zhí)行循環(huán)之后的代碼。
break和continue的不同點(diǎn)是:continue語句只是結(jié)束本次循環(huán),而 break 語句會(huì)終止整個(gè)循環(huán)的執(zhí)行。
沿用上面的示例1中代碼,將continue;
換成break;
,會(huì)輸出什么?
<?php for ($i = 1; $i <= 10; $i++) { if($i % 2 != 0) { break; } echo $i.' <br>'; } ?>
答案是:什么也不輸出。為什么會(huì)這樣尼?我們來分析一下:
forx循環(huán)一開始,$i=1
,1小于10嗎?當(dāng)然,然后開始執(zhí)行循環(huán)體中的if($i % 2 != 0)
語句;
那么1能整除2嗎?顯然是不能,因此()
中值為true,則執(zhí)行if中的“break;”語句,直接跳出整個(gè)循環(huán)了,根本沒有機(jī)會(huì)執(zhí)行“echo $i.' <br>'
”語句。
推薦學(xué)習(xí):《PHP視頻教程》