返回数组中的当前值

# current

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

current — 返回数组中的当前值

### 说明

function current(array|object `$array`): mixed

每个数组中都有一个内部的指针指向它“当前的”单元，初始化时会指向该数组中的第一个值。

### 参数

`array`

  要操作的数组。

### 返回值

current() 函数返回当前被内部指针指向的数组单元的值，并不移动指针。如果内部指针指向超出了单元列表的末端，current() 将返回 `false`。

警告

此函数可能返回布尔值 `false`，但也可能返回等同于 `false` 的非布尔值。请阅读 布尔类型章节以获取更多信息。应使用 === 运算符来测试此函数的返回值。

### 更新日志

版本 | 说明
--- | ---
8.1.0 | 弃用在 object 上调用此函数。 要么首先使用 get_mangled_object_vars() 将 object 转换为 array，要么使用实现 Iterator 的类提供的方法，例如 ArrayIterator。
7.4.0 | SPL 类的实例现在被视为没有属性的空对象，而不是调用与此函数同名的 Iterator 方法。

### 示例

示例 #1 current() 函数使用示例

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

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

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

### 注释

> 注意: 在一个空数组上使用 current() 函数，和在一个内部指针指向单元末端以外的数组上使用此函数，结果是相同的，同样都会返回 bool `false`。如果希望正确遍历一个包含 `false` 的数组，请参阅 `foreach` 控制结构。 如果仍然希望使用 current() 来判断数组单元真实的值，应该同时使用 key() 和 current() 来检查当前元素是否为 `null`。

### 参见

- end() - 将数组的内部指针指向最后一个单元
- key() - 从关联数组中取得键名
- each() - 返回数组中当前的键／值对并将数组指针向前移动一步
- prev() - 将数组的内部指针倒回一位
- reset() - 将数组的内部指针指向第一个单元
- next() - 将数组中的内部指针向前移动一位
- `foreach`

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open