在編寫程式碼時,您必須處理物件集合是很常見的。它可以是一組客戶名稱或不同用戶創建的帖子數量。將這些資料儲存在數組中有助於我們透過逐一迭代來處理整個集合。
PHP 附帶了兩種不同類型的陣列來幫助您儲存資料。您可以使用簡單的數值數組,也可以建立關聯數組。當您只想儲存項目清單(例如客戶清單)時,數字陣列非常有用。當您想要儲存鍵值對(例如客戶 ID 清單以及每個人購買的產品的總價值)時,關聯陣列非常有用。
時不時地,您必須直接存取您建立的陣列中的元素。在這個快速技巧中,我將向您展示如何在 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 $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中文網其他相關文章!