current

Return the current element in an array

&reftitle.description; `mixed` `current` ``array``object```array`

Every array has an internal pointer to its "current" element, which is initialized to the first element inserted into the array.

&reftitle.parameters;

`array`

- The array.

&reftitle.returnvalues;

The `current` function simply returns the value of the array element that's currently being pointed to by the internal pointer. It does not move the pointer in any way. If the internal pointer points beyond the end of the elements list or the array is empty, `current` returns &false;.

&return.falseproblem;
&reftitle.changelog;

&Version; | &Description;
&standard.changelog.calling-on-objects;

&reftitle.examples;

### Example use of `current` and friends

    <?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) { }
    ?>

&reftitle.notes;

The results of calling `current` on an empty array and on an array, whose internal pointer points beyond the end of the elements, are indistinguishable from a `bool` &false; element. To properly traverse an array which may contain &false; elements, see the &foreach; control structure.

To still use `current` and properly check if the value is really an element of the array, the `key` of the `current` element should be checked to be strictly different from &null;.

&reftitle.seealso;

- `end`
- `key`
- `each`
- `prev`
- `reset`
- `next`
- &foreach;