Home  >  Article  >  Backend Development  >  Get first and last element of PHP array

Get first and last element of PHP array

PHPz
PHPzOriginal
2023-09-04 19:05:051144browse

Get first and last element of PHP array

When writing code it is very common that you have to deal with collections of objects. It can be a set of customer names or the number of posts created by different users. Storing this data in an array helps us process the entire collection by iterating over it one by one.

PHP comes with two different types of arrays to help you store data. You can use a simple numeric array or create an associative array. Numeric arrays are useful when you just want to store a list of items, such as a list of customers. Associative arrays are useful when you want to store key-value pairs, such as a list of customer IDs and the total value of products purchased by each person.

From time to time, you must directly access elements in the array you created. In this quick tip, I'll show you how to get the first or last element of an array in PHP.

Get the first element of an array in PHP

Getting the first element of a simple numeric array is easy. Just get the element with index 0!

<?php

$names = ["Adam", "Monty", "Sajal", "Andrew"];

// Output — Adam
echo $names[0];

?>

However, this does not work with associative arrays.

One of the most efficient ways to get the first element of a numeric or associative array in PHP is to use the reset() function. This function sets the internal pointer of the array to its first element and returns the value of the first element. Here are some examples:

<?php

$names = ['Andrew', 'Adam', 'Monty', 'James', 'Amanda', 'Jessica', 'Roy'];

$country_capitals = ['Canada' => 'Ottawa', 'Germany' => 'Berlin', 'United States' => 'Washington D.C.', 'China' => 'Beijing', 'India' => 'New Delhi', 'Australia' => 'Canberra'];

// Output — Andrew
echo reset($names);

// Output — Ottawa
echo reset($country_capitals);

?>

As you can see, we don't need to know the key of the first element to get its value. All we have to do is pass the array to reset().

As I mentioned before, using reset() will change the internal pointer of the array. If you want to get the first element in an array without changing it, you can use the array_key_first() function. This will give you the first key of the array, which can be used to get the value of the first element.

<?php

$names = ['Andrew', 'Adam', 'Monty', 'James', 'Amanda', 'Jessica', 'Roy'];

$country_capitals = ['Canada' => 'Ottawa', 'Germany' => 'Berlin', 'United States' => 'Washington D.C.', 'China' => 'Beijing', 'India' => 'New Delhi', 'Australia' => 'Canberra'];

// Output — Andrew
echo $names[array_key_first($names)];

// Output — Ottawa
echo $country_capitals[array_key_first($country_capitals)];

?>

One thing you should remember is that array_key_first() is only available starting with PHP 7.3.

Get the last element of an array in PHP

For simple numeric arrays, you can get the last element by calculating its index based on the array length.

<?php

$names = ["Adam", "Monty", "Sajal", "Andrew"];

// Output — Andrew
echo $names[count($names)-1];

?>

But again, this doesn't work with associative arrays.

You can use the end() function in PHP to get the last element of any PHP array. It sets the internal pointer to the last element of the array and returns its value. This makes it similar to the reset() function we discussed in the previous section.

<?php

$names = ['Andrew', 'Adam', 'Monty', 'James', 'Amanda', 'Jessica', 'Roy'];

$country_capitals = ['Canada' => 'Ottawa', 'Germany' => 'Berlin', 'United States' => 'Washington D.C.', 'China' => 'Beijing', 'India' => 'New Delhi', 'Australia' => 'Canberra'];

// Output — Roy
echo end($names);

// Output — Canberra
echo end($country_capitals);

?>

Just like array_key_first(), there is a corresponding array_key_last() function which gives you the last key of the array without modifying it in any way. Once you have the key, you can easily access the last element of the array.

<?php

$names = ['Andrew', 'Adam', 'Monty', 'James', 'Amanda', 'Jessica', 'Roy'];

$country_capitals = ['Canada' => 'Ottawa', 'Germany' => 'Berlin', 'United States' => 'Washington D.C.', 'China' => 'Beijing', 'India' => 'New Delhi', 'Australia' => 'Canberra'];

// Output — Roy
echo $names[array_key_last($names)];

// Output — Canberra
echo $country_capitals[array_key_last($country_capitals)];

?>

Starting with PHP 7.3, the array_key_last() function is also available.

Final Thoughts

There are also many ways to get the first or last array of elements in PHP. For example, you can use array_values() and get the first or last element. However, if you don't need any extra information in the array, use reset(), array_key_first(), end() and array_key_last( ) function will be more efficient.

The above is the detailed content of Get first and last element of PHP array. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn