有8種數(shù)組指針操作函數(shù):1、current(),返回當(dāng)前數(shù)組指針?biāo)赶虻闹担?、next(),移動(dòng)指針到下一位,返回該位的值;3、prev(),移動(dòng)指針到上一位,返回該位的值;4、reset(),重置指針,指向第一個(gè)元素;5、end()等。
本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版、DELL G3電腦
數(shù)組指針函數(shù)有reset()、prev()、current()、pos()、next()、end()、key()、each()
其中reset()、prev()、current()、pos()、next()、end()都是與數(shù)組的值有關(guān)的函數(shù),而key()只與數(shù)組鍵有關(guān),each()可以獲得數(shù)組的值和鍵
current()函數(shù)
參數(shù)是一個(gè)數(shù)組,引用傳值,返回當(dāng)前數(shù)組指針?biāo)赶虻闹?,指針移?dòng)超出了數(shù)組的末尾,返回false,在數(shù)組為空的情況下返回false
數(shù)組的指針默認(rèn)在數(shù)組的第一位
<?php $arr = [11,22,33,44,55,66]; echo current($arr); ?>
pos()函數(shù)
current 的別名,用法一樣。
next()函數(shù)
參數(shù)是一個(gè)數(shù)組,引用傳值,移動(dòng)數(shù)組指針到下一位,返回該位的值,當(dāng)該位沒有元素時(shí)返回false,空數(shù)組也會(huì)返回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ù)是一個(gè)數(shù)組,引用傳值,移動(dòng)數(shù)組指針到上一位,返回該位的值,當(dāng)該位沒有元素時(shí)返回false,空數(shù)組也會(huì)返回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 ?>
reset()函數(shù)
參數(shù)是一個(gè)數(shù)組,引用傳值,將一個(gè)數(shù)組的內(nèi)部指針重置到首位,也就是數(shù)組的第一個(gè)元素所在的位置,然后返回第一個(gè)元素的值,在數(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 ?>
end()函數(shù)
參數(shù)是一個(gè)數(shù)組,引用傳值,將一個(gè)數(shù)組的內(nèi)部指針移動(dòng)到數(shù)組的最后一個(gè)元素所在的位置,然后返回最后一個(gè)元素的值,在數(shù)組為空的情況下返回false
<?php $arr = [11,22,33,44,55,66]; echo current($arr)."<br>"; //指針指向11 end($arr); //指針指向11 echo current($arr)."<br>"; //指針指向66 ?>
key()函數(shù)
參數(shù)是一個(gè)數(shù)組,引用傳值,返回當(dāng)前指針?biāo)赶虻脑氐逆I,當(dāng)指針?biāo)傅哪且晃粵]有元素返回null,空數(shù)組返回null
<?php $arr = [11,22,33,44,55,66]; var_dump($arr); echo current($arr)."<br>"; //當(dāng)前指針指向11 echo key($arr)."<br>"; //當(dāng)前元素的鍵名 ?>
each()函數(shù)
參數(shù)是一個(gè)數(shù)組,引用傳值,返回當(dāng)前指針?biāo)傅脑氐闹岛玩I,并且移動(dòng)指針到下一位
<?php $arr = [11,22,33,44,55,66]; var_dump($arr); echo current($arr)."<br>"; //指針指向11 next($arr); //指針指向22 echo current($arr)."<br>"; //指針指向22 $item = each($arr); //指針指向33 print_r($item); //指針指向33 echo current($arr)."<br>"; //指針指向33 ?>
php7.2之后極度不鼓勵(lì)使用這個(gè)函數(shù)
Warning
This function has been DEPRECATED as of PHP 7.2.0. Relying on this function is highly discouraged
推薦學(xué)習(xí):《PHP視頻教程》