數組的內部指針是數組內部的組織機制,指向一個數組中的某個元素。默認是指向數組中第一個元素通過移動或改變指針的位置,可以訪問數組中的任意元素。對於數組指針的控制PHP提供了以下幾個內建函數可以利用。
★current():取得目前指針位置的內容資料。
★key():讀取目前指針所指向資料的索引值(鍵值)。
★next():將數組中的內部指針移動到下一個單元。
★prev():將數組的內部指針倒回一位。
★end():將數組的內部指針指向最後一個元素。
★reset():將目前指針無條件移至第一個索引位置。
這些函數的參數都是只有一個,就是要操作的數組本身。在下面的示例中,將使用這些數組指針函數控制數組中元素的讀取順序。代碼如下所示:
復制代碼 代碼如下:
<?php
$contact = array(
"ID" => 1,
"姓名" => "高某",
"公司" => "A公司",
"地址" => "北京市",
"電話" => "(010)98765432",
"EMAIL" => "[email protected]",
);
//數組剛聲明時,數組指針在數組中第一個元素位置
echo '第一個元素:'.key($contact).' => '.current($contact).'<br>'; //第一個元素
echo '第一個元素:'.key($contact).' => '.current($contact).'<br>'; //數組指針沒動
next($contact);
next($contact);
echo '第三個元素:'.key($contact).' => '.current($contact).'<br>'; //第三個元素
end($contact);
echo '最後一個元素:'.key($contact).' => '.current($contact).'<br>';
prev($contact);
echo '倒數第二個元素:'.key($contact).' => '.current($contact).'<br>';
reset($contact);
echo '又回到了第一個元素:'.key($contact).' => '.current($contact).'<br>';
?>
在上例中通過使用指針控制函數next()、prev()、end()和reset()隨意在數組中移動指針位置,再使用key()和current()函數獲取數組中當前位置的鍵和值。