current

(PHP 4, PHP 5, PHP 7, PHP 8)

current返回?cái)?shù)組中的當(dāng)前值

說明

current(array|object $array): mixed

每個(gè)數(shù)組中都有一個(gè)內(nèi)部的指針指向它“當(dāng)前的”單元,初始化時(shí)會(huì)指向該數(shù)組中的第一個(gè)值。

參數(shù)

array

要操作的數(shù)組。

返回值

current() 函數(shù)返回當(dāng)前被內(nèi)部指針指向的數(shù)組單元的值,并不移動(dòng)指針。如果內(nèi)部指針指向超出了單元列表的末端,current() 將返回 false。

警告

此函數(shù)可能返回布爾值 false,但也可能返回等同于 false 的非布爾值。請(qǐng)閱讀 布爾類型章節(jié)以獲取更多信息。應(yīng)使用 === 運(yùn)算符來測(cè)試此函數(shù)的返回值。

更新日志

版本 說明
8.1.0 棄用在 object 上調(diào)用此函數(shù)。 在 object 優(yōu)先使用 get_mangled_object_vars() 或者使用 ArrayIterator。

范例

示例 #1 current() 函數(shù)使用示例

<?php
$transport 
= array('foot''bike''car''plane');
$mode current($transport); // $mode = 'foot';
$mode next($transport);    // $mode = 'bike';
$mode current($transport); // $mode = 'bike';
$mode prev($transport);    // $mode = 'foot';
$mode end($transport);     // $mode = 'plane';
$mode current($transport); // $mode = 'plane';

$arr = array();
var_dump(current($arr)); // bool(false)

$arr = array(array());
var_dump(current($arr)); // array(0) { }
?>

注釋

注意: 在一個(gè)空數(shù)組上使用 current() 函數(shù),和在一個(gè)內(nèi)部指針指向單元末端以外的數(shù)組上使用此函數(shù),結(jié)果是相同的,同樣都會(huì)返回 bool false。如果希望正確遍歷一個(gè)包含 false 的數(shù)組,請(qǐng)參閱 foreach 控制結(jié)構(gòu)。 如果仍然希望使用 current() 來判斷數(shù)組單元真實(shí)的值,應(yīng)該同時(shí)使用 key()current() 來檢查當(dāng)前元素是否為 null。

參見

  • end() - 將數(shù)組的內(nèi)部指針指向最后一個(gè)單元
  • key() - 從關(guān)聯(lián)數(shù)組中取得鍵名
  • each() - 返回?cái)?shù)組中當(dāng)前的鍵/值對(duì)并將數(shù)組指針向前移動(dòng)一步
  • prev() - 將數(shù)組的內(nèi)部指針倒回一位
  • reset() - 將數(shù)組的內(nèi)部指針指向第一個(gè)單元
  • next() - 將數(shù)組中的內(nèi)部指針向前移動(dòng)一位
  • foreach