Get the First Value in a Array (with and without resetting the array pointer)

Get the First Value in a Array (with and without resetting the array pointer)

At first sight this question seems like a trivial one – “how to get the first element’s value in a PHP array?”. Most people would answer with:

$firstElem = reset($array); This will work for 90% of the cases, but is not a possible approach every time for the following reason:

reset() rewinds array’s internal pointer to the first element and returns the value of the first array element. — from the PHP documentation for reset()

So forget about using current() and next() on that array if you use reset() on it.

To overcome this pitfall, we can use a different approch:

function getFirstElem(array $arr){ return array_shift(array_values($arr)) }

$firstElem = getFirstElem($myArray); This will make a copy of the array’s values and get the first element from that copy. Using this approach your internal pointers to $myArray will not be lost.