Every array has an internal pointer to its "current" element, which is initialized to the first element inserted into the array.
Parameters
array
The array.
Return Values
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
.
Warning
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.
Changelog
Version
Description
8.1.0
Calling this function on
object
s is deprecated. Either use
get_mangled_object_vars()
on the
object
first, or use
ArrayIterator
.
Note
:
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
.
See Also
end() - Set the internal pointer of an array to its last element
key() - Fetch a key from an array
each() - Return the current key and value pair from an array and advance the array cursor
prev() - Rewind the internal array pointer
reset() - Set the internal pointer of an array to its first element
next() - Advance the internal pointer of an array
foreach
PHP / each — DevDocs
each
(PHP 4, PHP 5, PHP 7)
each
—
Return the current key and value pair from an array and advance the array cursor
Warning
This function has been
DEPRECATED
as of PHP 7.2.0, and
REMOVED
as of PHP 8.0.0. Relying on this function is highly discouraged.
Description
each(array|object&$array):array
Return the current key and value pair from an array and advance the array cursor.
After
each()
has executed, the array cursor will be left on the next element of the array, or past the last element if it hits the end of the array. You have to use
reset()
if you want to traverse the array again using each.
Parameters
array
The input array.
Return Values
Returns the current key and value pair from the array
array
. This pair is returned in a four-element array, with the keys
0
,
1
,
key
, and
value
. Elements
0
and
key
contain the key name of the array element, and
1
and
value
contain the data.
If the internal pointer for the array points past the end of the array contents,
each()
returns
false
.
Because assigning an array to another variable resets the original array's pointer, our example above would cause an endless loop had we assigned
$fruit
to another variable inside the loop.
Warning
each()
will also accept objects, but may return unexpected results. It's therefore not recommended to iterate though object properties with
each()
.
See Also
key() - Fetch a key from an array
list() - Assign variables as if they were an array
current() - Return the current element in an array
reset() - Set the internal pointer of an array to its first element
end
—
Set the internal pointer of an array to its last element
Description
end(array|object&$array):mixed
end()
advances
array
's internal pointer to the last element, and returns its value.
Parameters
array
The array. This array is passed by reference because it is modified by the function. This means you must pass it a real variable and not a function returning an array because only actual variables may be passed by reference.
Return Values
Returns the value of the last element or
false
for empty array.
Changelog
Version
Description
8.1.0
Calling this function on
object
s is deprecated. Either use
get_mangled_object_vars()
on the
object
first, or use
ArrayIterator
.