首頁  >  文章  >  後端開發  >  取得PHP數組的第一個和最後一個元素

取得PHP數組的第一個和最後一個元素

PHPz
PHPz原創
2023-09-04 19:05:051144瀏覽

取得PHP數組的第一個和最後一個元素

在編寫程式碼時,您必須處理物件集合是很常見的。它可以是一組客戶名稱或不同用戶創建的帖子數量。將這些資料儲存在數組中有助於我們透過逐一迭代來處理整個集合。

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.', 'China' => '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.', '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)];

?>

您應該記住的一件事是 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.', 'China' => '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.', '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)];

?>

從 PHP 7.3 開始,array_key_last() 函數也可用。

最終想法

還有很多方法可以取得 PHP 中元素的第一個或最後一個陣列。例如,您可以使用 array_values() 然後取得第一個或最後一個元素。但是,如果您不需要數組中的任何額外信息,則使用reset()array_key_first()end()array_key_last( ) 函數會更有效。

以上是取得PHP數組的第一個和最後一個元素的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn