在编写代码时,您必须处理对象集合是很常见的。可以是一组客户名称,也可以是不同用户创建的帖子数。将这些数据存储在数组中有助于我们通过逐个迭代来处理整个集合。
php 带有两种不同类型的数组来帮助您存储数据。您可以使用简单的数值数组,也可以创建关联数组。当您只想存储项目列表(例如客户列表)时,数值数组很有帮助。当您想要存储键值对(例如客户 ID 列表和每个客户购买的产品的总价值)时,关联数组非常有用。
时不时地,您将不得不直接访问您创建的数组中的元素。在这个快速提示中,我将向您展示如何在 PHP 中获取数组的第一个或最后一个元素。
在 PHP 中获取数组的第一个元素
获取简单数值数组的第一个元素很容易。只需获取索引为 0 的元素!
<?php $names = ["Adam", "Monty", "Sajal", "Andrew"]; // Output — Adam echo $names[0]; ?>
但是,这不适用于关联数组。
在 PHP 中获取数字或关联数组的第一个元素的最有效方法之一是使用reset()函数。此函数将数组的内部指针设置为其第一个元素并返回第一个元素的值。这里有些例子:
<?php $names = ['Andrew', 'Adam', 'Monty', 'James', 'Amanda', 'Jessica', 'Roy']; $country_capitals = ['Canada' => 'Ottawa', 'Germany' => 'Berlin', 'United States' => 'Washington D.C.', '***' => 'Beijing', 'India' => 'New Delhi', 'Australia' => 'Canberra']; // Output — Andrew echo reset($names); // Output — Ottawa echo reset($country_capitals); ?>
正如你所看到的,我们不需要知道第一个元素的键来获取它的值。我们所要做的就是将数组传递给reset().
正如我之前提到的,使用reset()会改变数组的内部指针。如果您想从数组中获取第一个元素而不对其进行任何更改,则可以使用该array_key_first()函数。这将为您提供数组的第一个键,可用于获取第一个元素的值。
<?php $names = ['Andrew', 'Adam', 'Monty', 'James', 'Amanda', 'Jessica', 'Roy']; $country_capitals = ['Canada' => 'Ottawa', 'Germany' => 'Berlin', 'United States' => 'Washington D.C.', '***' => 'Beijing', 'India' => 'New Delhi', 'Australia' => 'Canberra']; // Output — Andrew echo $names[array_key_first($names)]; // Output — Ottawa echo $country_capitals[array_key_first($country_capitals)]; ?>
您应该记住的一件事是它array_key_first()仅从 PHP 7.3 开始可用。
在 PHP 中获取数组的最后一个元素
对于一个简单的数值数组,您可以通过从数组长度计算其索引来获取最后一个元素。
<?php $names = ["Adam", "Monty", "Sajal", "Andrew"]; // Output — Andrew echo $names[count($names)-1]; ?>
但是,再一次,这不适用于关联数组。
您可以使用 PHP 中的end()函数来获取任何 PHP 数组的最后一个元素。它将内部指针设置为数组的最后一个元素并返回其值。这使它类似于reset()我们在上一节中讨论的功能。
<?php $names = ['Andrew', 'Adam', 'Monty', 'James', 'Amanda', 'Jessica', 'Roy']; $country_capitals = ['Canada' => 'Ottawa', 'Germany' => 'Berlin', 'United States' => 'Washington D.C.', '***' => 'Beijing', 'India' => 'New Delhi', 'Australia' => 'Canberra']; // Output — Roy echo end($names); // Output — Canberra echo end($country_capitals); ?>
就像 一样array_key_first(),还有一个相应的array_key_last()函数可以为您提供数组的最后一个键,而无需以任何方式修改它。拥有密钥后,您可以轻松访问数组的最后一个元素。
<?php $names = ['Andrew', 'Adam', 'Monty', 'James', 'Amanda', 'Jessica', 'Roy']; $country_capitals = ['Canada' => 'Ottawa', 'Germany' => 'Berlin', 'United States' => 'Washington D.C.', '***' => 'Beijing', 'India' => 'New Delhi', 'Australia' => 'Canberra']; // Output — Roy echo $names[array_key_last($names)]; // Output — Canberra echo $country_capitals[array_key_last($country_capitals)]; ?>
array_key_last()从 PHP 7.3 开始也可以使用该功能。
最后的想法
在 PHP 中有更多方法可以获取元素的第一个或最后一个数组。例如,您可以使用array_values()然后获取第一个或最后一个元素。但是,如果您不想从数组中获取任何额外信息,则使用reset()、array_key_first()、end()和函数会更有效。array_key_last()