next()
next() — Advance the internal pointer of an array.
Built-in function of PHP 8.5. The manual lists it as available in PHP 4, PHP 5, PHP 7, PHP 8. This page is the reference card: signature, parameters and return value, plus the changelog and the example the manual provides.
What it does
next() behaves like current(), with one difference. It advances the internal array pointer one place forward before returning the element value. That means it returns the next array value and advances the internal array pointer by one.
Signature
next(array|object &$array): mixed
Parameters
| Parameter | Type | What it takes |
|---|---|---|
| &$array | array|object | The array being affected. |
Return value
Returns the array value in the next place that's pointed to by the internal array pointer, or false if there are no more elements. This function may return Boolean false, but may also return a non-Boolean value which evaluates to false. Please read the section on Booleans for more information. Use the === operator for testing the return value of this function.
Example
A runnable snippet:
$transport = array('foot', 'bike', 'car', 'plane'); echo $mode = current($transport), PHP_EOL; // $mode = 'foot'; echo $mode = next($transport), PHP_EOL; // $mode = 'bike'; echo $mode = next($transport), PHP_EOL; // $mode = 'car'; echo $mode = prev($transport), PHP_EOL; // $mode = 'bike'; echo $mode = end($transport), PHP_EOL; // $mode = 'plane';
Changelog
| Version | Change |
|---|---|
| 8.1.0 | Calling this function on objects is deprecated. Either convert the object to an array using get_mangled_object_vars() first, or use the methods provided by a class that implements Iterator, such as ArrayIterator, instead. |
| 7.4.0 | Instances of SPL classes are now treated like empty objects that have no properties instead of calling the Iterator method with the same name as this function. |
See also
current(), end(), prev(), reset()
All PHP 8.5 built-in functions
Reference card built from the PHP manual page next() (PHP documentation, CC BY 3.0). The page is generated from the manual, so the wording of the parameter and return value text follows php.net.