[PHP從小白到大牛]-017 PHP數組遍歷

1.遍歷數組(有降維的做用)

經過for循環來遍歷

<?php


$arr = ['one'=>1,'two'=>2,3,4,5,6];


for($i = 0;$i<count($arr);$i++){
	echo $arr[$i];
	echo "<br>";
}
複製代碼
  • 只能遍歷下標連續的索引數組

經過foreach遍歷數組

<?php


$arr = ['one'=>1,'two'=>2,3,4,5,6];


foreach ($arr as $key => $value) {
	echo $key.' ===> '.$value;
	echo "<br>";
}
複製代碼
  • foreach函數很強大, 數組的值, 不管任何類型, 均可以遍歷php

  • 只要鍵值數組

    • foreach($數組名稱 as $val){循環體}
  • 既要鍵名又要鍵值函數

    • foreach($數組名稱 as $key=>$val){循環體}
  • 注意spa

    • 能夠經過:endforeach代替{}

經過指針函數遍歷數組

  • key() => 獲得當前指針所在位置的鍵名, 若是不存在, 返回null
  • current() => 獲得當前指針所在位置的鍵值, 若是不存在, 返回false
  • next() => 將數組的指針向下移動一位, 而且返回當前指針所在位置的鍵值, 若是沒有, false
  • prev() => 將數組的指針向上移動一位, 而且返回當前指針所在位置的鍵值, 若是沒有, false
  • reset() => 將數組指針移動到數組開始, 返回當前位置的鍵值, 若是沒有, false
  • end() => 將數組指針移動到數組最後, 返回當前位置的鍵值, 若是沒有, false
foreach($arr as $key => $value){
	echo $key." =====> ".$value;
	echo "<br>";
}

while (!is_null(key($arr))) {
	echo key($arr)." =====> ".current($arr);
	echo "<br>";
	next($arr);
}
複製代碼
獲取後綴名
$str = "1.txt.php";

$arr = explode('.', $str);

echo end($arr);
複製代碼

經過each()和list()函數遍歷數組

  • each(): 獲得當前指針所在位置的鍵值對, 返回的是一個數組, 包含4個部分

  • list(): 把數組中的值, 賦值給多個變量, 前提是該數組是下標連續的索引數組
while($tmp = each($arr)){
	echo $tmp['key']." ====> ".$tmp['value'];
	echo "<br>";
}
複製代碼
相關文章
相關標籤/搜索