什么是PHP數(shù)組遍歷

這篇文章主要講解了“什么是PHP數(shù)組遍歷”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“什么是PHP數(shù)組遍歷”吧!

成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、汾西網(wǎng)絡(luò)推廣、微信小程序開(kāi)發(fā)、汾西網(wǎng)絡(luò)營(yíng)銷、汾西企業(yè)策劃、汾西品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供汾西建站搭建服務(wù),24小時(shí)服務(wù)熱線:028-86922220,官方網(wǎng)址:muchs.cn

1、什么是數(shù)組遍歷

其實(shí)就是訪問(wèn)數(shù)組中每個(gè)內(nèi)容的一個(gè)過(guò)程,在遍歷過(guò)程中,我們可以按條件拿到自己需要的內(nèi)容,或者操作數(shù)組中的元素。

PHP編程中常用 for、foreach、each()、list() 對(duì)數(shù)組進(jìn)行遍歷。  

2、for 循環(huán)遍歷數(shù)組

基本格式:

<?php
$fruits = array("a1", "b2", "cd3", "e4");
for ($i=0; $i < count($fruits); $i++) {
   echo current($fruits) . " ";
   echo $fruits[$i] . "<br/>";
}?>

 for 循環(huán)遍歷數(shù)組沒(méi)有改變數(shù)組的內(nèi)部指針。 

3、foreach 遍歷數(shù)組

基本格式: 

<?php
$array = [0, 1, 2];
foreach ($array as &$val){  // 遍歷數(shù)組
   echo $val;  
}
?>

遍歷數(shù)組, 使用current()輸出數(shù)組指針指向的當(dāng)前單元的值  

<?php
$array = [0, 1, 2];
foreach ($array as &$val){
   var_dump(current($array));
}
?>

在 PHP 7 中運(yùn)行以上程序的輸出結(jié)果為 :

int(0) int(0) int(0)

而在 PHP 7 之前的版本中則會(huì)輸出 :

int(1) int(2) bool(false)

由此說(shuō)明 PHP 7 之前的版本在進(jìn)行 foreach 循環(huán)時(shí)會(huì)改變數(shù)組內(nèi)部的指針。  

使用 foreach 循環(huán)遍歷數(shù)組的時(shí)候,foreach 是對(duì)數(shù)組的備份進(jìn)行操作,在循環(huán)內(nèi)部修改數(shù)組不會(huì)對(duì)循環(huán)之外訪問(wèn)數(shù)組有影響。示例如下:

<?php
$arr = array(0, 1, 2);
foreach ($arr as $val){
   $val = $val*2;  // 元素值乘以2
}
print_r($arr);
?>

輸出結(jié)果如下:

Array
(
   [0] => 0
   [1] => 1
   [2] => 2
)

如果是按照引用循環(huán),那么在循環(huán)內(nèi)部對(duì)數(shù)組做的修改會(huì)影響數(shù)組本身。示例如下: 

<?php
$arr = array(0, 1, 2);
foreach ($arr as &$val){
   $val = $val*2;  // 元素值乘以2
}
print_r($arr);
?>

運(yùn)行結(jié)果如下:

Array
(
   [0] => 0
   [1] => 2
   [2] => 4
)

3、each()函數(shù)

each() 函數(shù)返回?cái)?shù)組中當(dāng)前的鍵值并將數(shù)組指針向前移動(dòng)。在執(zhí)行 each() 之后,數(shù)組指針將停留在數(shù)組中的下一個(gè)元素或者當(dāng)碰到數(shù)組結(jié)尾時(shí)停留在最后一個(gè)元素。如果要再用 each 遍歷數(shù)組,就必須使用 reset()。  

<?php
$info = array("我的名字", "叫張三", "啦啦啦啦~", "24歲", "張三");
$val1 = each($info);  //指針向后移動(dòng)一步
print_r($val1);
echo current($info) . "\n";  //當(dāng)前指針指向值
$val2 = each($info);
print_r($val2);
echo current($info) . "\n";
?>

運(yùn)行結(jié)果如下:

Array
(
   [1] => 我的名字
   [value] => 我的名字
   [0] => 0
   [key] => 0
)

叫張三

Array
(
   [1] => 叫張三
   [value] => 叫張三
   [0] => 1
   [key] => 1
)

啦啦啦啦~

4、list()函數(shù)

使用 list() 將數(shù)組的值分別賦給變量,示例如下: 

<?php
$info = array("我的名字", "叫張三", "啦啦啦啦~", "24歲", "張三");
list($website, $course, $url, $age, $author) = $info;
echo $website . "\n" . $course . "\n" . $url . "\n" . $age . "\n" . $author;
?>

運(yùn)行結(jié)果如下:  

我的名字叫張三啦啦啦啦~24歲張三

each() 函數(shù)和 list() 函數(shù)結(jié)合可以遍歷數(shù)組,示例如下:  

<?php
$info = array(
   "a" => "我的名字",
   "b" => "叫張三",
   "c" => "啦啦啦啦~",
   "d" => "24歲",
   "e" => "張三"
);
while( list($key, $val) = each($info) ) {
   echo "$key => $val\n";
}
?>

運(yùn)行結(jié)果如下:

a => 我的名字
b => 叫張三
c => 啦啦啦啦~
d => 24歲
e => 張三

感謝各位的閱讀,以上就是“什么是PHP數(shù)組遍歷”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)什么是PHP數(shù)組遍歷這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

網(wǎng)站名稱:什么是PHP數(shù)組遍歷
當(dāng)前URL:http://muchs.cn/article42/ispdec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、網(wǎng)站維護(hù)App開(kāi)發(fā)、做網(wǎng)站、自適應(yīng)網(wǎng)站、服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁(yè)設(shè)計(jì)公司