#### 1. PHP的七個數組指針函數 --- | 序號 | 函數 | 描述 | | ------------ | ------------ | ------------ | | 1 | reset() | 將一個數組的內部指針重置到首位,并返回第一個元素的值 | | 2 | end() | 將一個數組的內部指針移動到數組的最后一個元素所在的位置,并返回最后一個元素的值 | | 3 | prev() | 移動數組指針到上一位,返回該位的值,當該位沒有元素或是空數組時返回false | | 4 | next() | 移動數組指針到下一位,返回該位的值,當該位沒有元素或是空數組時返回false | | 5 | key() | 返回當前指針所指向的元素的鍵,當指針所指的那一位沒有元素返回null,空數組返回null | | 6 | current() | 返回當前數組指針所指向的值,指針移動超出了數組的末尾或數組為空時返回false | | 7 | each() | 返回當前指針所指的元素的值和鍵,并且移動指針到下一位,從PHP7.2.0開始,此函數已被棄用 | #### 2. each() 從 7.2.0 開始被棄用,不推薦再使用 --- **Warning** This function has been DEPRECATED as of PHP 7.2.0. Relying on this function is highly discouraged 翻譯:從PHP7.2.0開始,此函數已被棄用。非常不鼓勵依賴此功能 #### 3. 數組指針函數的參數必須是一個變量 --- 因為上面的數組指針函數都是引用傳值,所以數組指針函數的參數必須是一個變量,而不能直接傳給一個數組數據 ```php $arr = ['張三', '李四', '王五']; echo reset(['張三', '李四', '王五']);//拋出錯誤:Fatal error ``` **Fatal error** Only variables can be passed by reference in D:\phpstudy-v8.1\phpstudy_pro\WWW\1.php on line 5 翻譯:在D:\phpstudy-v8.1\phpstudy_pro\WWW\1.php的第5行中,只能通過引用傳遞變量 #### 4. 使用場景(我經常用的) --- 獲取數組的第一個元素`reset()`和最后一個元素 `end()` ```php $arr = ['張三', '李四', '王五']; echo reset($arr);//張三 echo end($arr);//王五 ```