您好,登錄后才能下訂單哦!
這篇文章主要講解了“什么是PHP數組遍歷”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“什么是PHP數組遍歷”吧!
其實就是訪問數組中每個內容的一個過程,在遍歷過程中,我們可以按條件拿到自己需要的內容,或者操作數組中的元素。
PHP編程中常用 for、foreach、each()、list() 對數組進行遍歷。
基本格式:
<?php
$fruits = array("a1", "b2", "cd3", "e4");
for ($i=0; $i < count($fruits); $i++) {
echo current($fruits) . " ";
echo $fruits[$i] . "<br/>";
}?>
for 循環遍歷數組沒有改變數組的內部指針。
3、foreach 遍歷數組
基本格式:
<?php
$array = [0, 1, 2];
foreach ($array as &$val){ // 遍歷數組
echo $val;
}
?>
遍歷數組, 使用current()輸出數組指針指向的當前單元的值
<?php
$array = [0, 1, 2];
foreach ($array as &$val){
var_dump(current($array));
}
?>
在 PHP 7 中運行以上程序的輸出結果為 :
int(0) int(0) int(0)
而在 PHP 7 之前的版本中則會輸出 :
int(1) int(2) bool(false)
由此說明 PHP 7 之前的版本在進行 foreach 循環時會改變數組內部的指針。
使用 foreach 循環遍歷數組的時候,foreach 是對數組的備份進行操作,在循環內部修改數組不會對循環之外訪問數組有影響。示例如下:
<?php
$arr = array(0, 1, 2);
foreach ($arr as $val){
$val = $val*2; // 元素值乘以2
}
print_r($arr);
?>
輸出結果如下:
Array
(
[0] => 0
[1] => 1
[2] => 2
)
如果是按照引用循環,那么在循環內部對數組做的修改會影響數組本身。示例如下:
<?php
$arr = array(0, 1, 2);
foreach ($arr as &$val){
$val = $val*2; // 元素值乘以2
}
print_r($arr);
?>
運行結果如下:
Array
(
[0] => 0
[1] => 2
[2] => 4
)
each() 函數返回數組中當前的鍵值并將數組指針向前移動。在執行 each() 之后,數組指針將停留在數組中的下一個元素或者當碰到數組結尾時停留在最后一個元素。如果要再用 each 遍歷數組,就必須使用 reset()。
<?php
$info = array("我的名字", "叫張三", "啦啦啦啦~", "24歲", "張三");
$val1 = each($info); //指針向后移動一步
print_r($val1);
echo current($info) . "\n"; //當前指針指向值
$val2 = each($info);
print_r($val2);
echo current($info) . "\n";
?>
運行結果如下:
Array
(
[1] => 我的名字
[value] => 我的名字
[0] => 0
[key] => 0
)
叫張三
Array
(
[1] => 叫張三
[value] => 叫張三
[0] => 1
[key] => 1
)
啦啦啦啦~
使用 list() 將數組的值分別賦給變量,示例如下:
<?php
$info = array("我的名字", "叫張三", "啦啦啦啦~", "24歲", "張三");
list($website, $course, $url, $age, $author) = $info;
echo $website . "\n" . $course . "\n" . $url . "\n" . $age . "\n" . $author;
?>
運行結果如下:
我的名字叫張三啦啦啦啦~24歲張三
each() 函數和 list() 函數結合可以遍歷數組,示例如下:
<?php
$info = array(
"a" => "我的名字",
"b" => "叫張三",
"c" => "啦啦啦啦~",
"d" => "24歲",
"e" => "張三"
);
while( list($key, $val) = each($info) ) {
echo "$key => $val\n";
}
?>
運行結果如下:
a => 我的名字
b => 叫張三
c => 啦啦啦啦~
d => 24歲
e => 張三
感謝各位的閱讀,以上就是“什么是PHP數組遍歷”的內容了,經過本文的學習后,相信大家對什么是PHP數組遍歷這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。