php數(shù)組指針用于操作數(shù)組。數(shù)組指針是數(shù)組內部的組織機制,每個數(shù)組都有一個內部的指針指向它“當前的”單元(元素),這個指針最初指向的是當前數(shù)組中的第一個單元;通過移動或改變數(shù)組指針的位置,可以訪問數(shù)組中的任意元素。對于數(shù)組指針的控制PHP提供了多個內置函數(shù):current()、pos()、key()、next()、prev()、end()、reset()。
本教程操作環(huán)境:windows7系統(tǒng)、PHP8版、DELL G3電腦
php數(shù)組指針用于操作數(shù)組。
在php中,數(shù)組指針是數(shù)組內部的組織機制,指向一個數(shù)組中的某個元素。
每個數(shù)組都有一個內部的指針指向它“當前的”單元(元素),這個指針最初指向的是當前數(shù)組中的第一個單元。
通過移動或改變指針的位置,可以訪問數(shù)組中的任意元素。對于數(shù)組指針的控制PHP提供了以下幾個內置函數(shù)可以利用。
-
current():返回數(shù)組的當前元素
-
pos():current 的別名,用法一樣。
-
key():讀取當前指針所指向資料的索引值(鍵值)。
-
next():將數(shù)組中的內部指針移動到下一個單元。
-
prev():將數(shù)組的內部指針倒回一位。
-
end():將數(shù)組的內部指針指向最后一個元素。
-
reset():將目前指針無條件移至第一個索引位置。
這些函數(shù)的參數(shù)都是只有一個,就是要操作的數(shù)組本身。
在下面的示例中,將使用這些數(shù)組指針函數(shù)控制數(shù)組中元素的讀取順序。代碼如下所示:
<?php header('content-type:text/html;charset=utf-8'); $contact = array( "ID" => 1, "姓名" => "高某", "公司" => "A公司", "地址" => "北京市", "電話" => "(010)98765432", "EMAIL" => "gao@brophp.com", ); //數(shù)組剛聲明時,數(shù)組指針在數(shù)組中第一個元素位置 echo '第一個元素:'.key($contact).' => '.current($contact).'<br>'; //第一個元素 echo '第一個元素:'.key($contact).' => '.current($contact).'<br>'; //數(shù)組指針沒動 next($contact); next($contact); echo '第三個元素:'.key($contact).' => '.current($contact).'<br>'; //第三個元素 end($contact); echo '最后一個元素:'.key($contact).' => '.current($contact).'<br>'; prev($contact); echo '倒數(shù)第二個元素:'.key($contact).' => '.current($contact).'<br>'; reset($contact); echo '又回到了第一個元素:'.key($contact).' => '.current($contact).'<br>'; ?>
下面一個個來介紹一下。
current()函數(shù)
參數(shù)是一個數(shù)組,引用傳值,返回當前數(shù)組指針所指向的值,指針移動超出了數(shù)組的末尾,返回false,在數(shù)組為空的情況下返回false
數(shù)組的指針默認在數(shù)組的第一位
<?php $arr = [11,22,33,44,55,66]; echo current($arr); ?>
key()函數(shù)
參數(shù)是一個數(shù)組,引用傳值,返回當前指針所指向的元素的鍵,當指針所指的那一位沒有元素返回null,空數(shù)組返回null
<?php $arr = [11,22,33,44,55,66]; var_dump($arr); echo current($arr)."<br>"; //當前指針指向11 echo key($arr)."<br>"; //當前元素的鍵名 ?>
next()函數(shù)
參數(shù)是一個數(shù)組,引用傳值,移動數(shù)組指針到下一位,返回該位的值,當該位沒有元素時返回false,空數(shù)組也會返回false
<?php $arr = [11,22,33,44,55,66]; echo current($arr)."<br>"; //指針指向11 next($arr); //指針指向22 echo current($arr)."<br>"; //指針指向22 next($arr); //指針指向33 next($arr); //指針指向44 echo current($arr)."<br>"; //指針指向44 ?>
prev()函數(shù)
參數(shù)是一個數(shù)組,引用傳值,移動數(shù)組指針到上一位,返回該位的值,當該位沒有元素時返回false,空數(shù)組也會返回false
<?php $arr = [11,22,33,44,55,66]; echo current($arr)."<br>"; //指針指向11 next($arr); //指針指向22 next($arr); //指針指向33 echo current($arr)."<br>"; //指針指向33 prev($arr); //指針指向22 echo current($arr)."<br>"; //指針指向22 ?>
end()函數(shù)
參數(shù)是一個數(shù)組,引用傳值,將一個數(shù)組的內部指針移動到數(shù)組的最后一個元素所在的位置,然后返回最后一個元素的值,在數(shù)組為空的情況下返回false
<?php $arr = [11,22,33,44,55,66]; echo current($arr)."<br>"; //指針指向11 end($arr); //指針指向11 echo current($arr)."<br>"; //指針指向66 ?>
reset()函數(shù)
參數(shù)是一個數(shù)組,引用傳值,將一個數(shù)組的內部指針重置到首位,也就是數(shù)組的第一個元素所在的位置,然后返回第一個元素的值,在數(shù)組為空的情況下返回false
<?php $arr = [11,22,33,44,55,66]; echo current($arr)."<br>"; //指針指向11 next($arr); //指針指向22 next($arr); //指針指向33 echo current($arr)."<br>"; //指針指向33 reset($arr); //指針指向11 echo current($arr)."<br>"; //指針指向11 ?>
推薦學習:《PHP視頻教程》