6.3.7 使用數組的內部指針控制函數遍歷數組
使用數組的內部指針控制函數遍歷數組
數組指針的控制函數
由于數組是由多筆資料集合而成,所以當程序需要運算處理其中某個索引位置的資料內容時,會由數組之中內定的指針,指向目標資料,以提供程序作正確的讀取。下面針對數組指針控制的相關函數,作簡單的說明介紹:
next()、prev()、end()及 reset()
這四個函數可以控制目前數組中的指針位置。next()負責將指針向后移動,prev()負責將指針向前移動;end()會將指針指向數組中最后一個元素,而 reset()函數則會將目前指針無條件移至第一個索引位置。
語法格式:
mixed next(數組名稱); mixed prev(數組名稱);
mixed end(數組名稱); mixed reset(數組名稱);
mixed key(數組名稱); mixed current(數組名稱);
test.php
<?php
//聲明一個一維的關聯數組$contact, 使用“=>”運算符指定了每個元素的字符串下標
$contact = **array**( "ID" => 1, "姓名" => "高某", "公司" => "A公司", "地址" => "北京市",
"電話" => "(010)98765432", "EMAIL" => "gao@brophp.com" );
//數組剛聲明時,數組指針在數組中第一個元素位置
//使用key()和current()函數傳入數組$contact,返回數組中當前元素的鍵和值
**echo** '第一個元素:'.key($contact).' => '.current($contact).'<br>'; //第一個元素
**echo** '第一個元素:'.key($contact).' => '.current($contact).'<br>'; //數組指針沒動
next($contact); //將數組$contact中的指針向下一個元素移動一次,指向第二個元素的位置
next($contact); //將數組$contact中的指針向再下一個元素移動一次,指向第三個元素的位置
**echo** '第三個元素:'.key($contact).' => '.current($contact).'<br>'; //第三個元素
end($contact); //再將數組$contact中的指針移動到最后,指向最后一個元素
**echo** '最后一個元素:'.key($contact).' => '.current($contact).'<br>'; //最后一個元素
prev($contact); //將數組$contact中的指針倒回一位,指向最后第二個元素
**echo** '最后第二個元素:'.key($contact).' => '.current($contact).'<br>'; //最后第二個元素
reset($contact); //再將數組$contact中的指針重置到第一個元素的位置,指向第一個元素
**echo** '又回到了第一個元素:'.key($contact).' => '.current($contact).'<br>'; //第一個元素
test.php
<?php
/*
* 控制指定的位置
*
*
* next();
* prev();
* reset();
* end();
*
* each(); --- next()
*
* key() 獲取當前下標
* current() 獲取當前的值
*
*
*
*/
$arr = array("one"=>"妹子", "two"=>"峰哥", "three"=>"觀眾", "four"=>"小四", "5"=>"five");
/* next($arr);
next($arr);
next($arr);
*/
end($arr);
prev($arr);
reset($arr);
echo "當前的位置(默認在第一個): ".key($arr)."=>".current($arr)."<br>";