當前位置: 首頁> 最新文章列表> 用array_values 從關聯數組中提取值而忽略鍵

用array_values 從關聯數組中提取值而忽略鍵

gitbox 2025-06-08

在PHP中,數組是一種非常重要的數據結構。除了索引數組,關聯數組也是常用的類型。關聯數組中,鍵是字符串或者整數,而值則可以是任何類型的變量。很多時候,我們可能只關心數組中的值,而不關心鍵名。此時, array_values()函數就可以派上用場。

本文將詳細介紹如何使用array_values()函數從一個關聯數組中提取出所有的值,並忽略鍵名。


array_values()函數簡介

array_values()是一個PHP 內置的數組函數,用於返回數組中的所有值並將其作為一個新的索引數組返回。此函數不會保留原數組的鍵名,而是將其重新編號,形成一個索引數組。

函數原型

array_values(array $array): array
  • $array :輸入的關聯數組。

  • 返回值:一個新的數組,包含了$array中的所有值,鍵名將會被重新索引為數字。


示例:如何從關聯數組中提取值

假設我們有一個關聯數組,如下所示:

 $person = [
    "name" => "John",
    "age" => 30,
    "city" => "New York"
];

如果我們只關心數組中的值,可以使用array_values()來提取這些值並返回一個新數組:

 $values = array_values($person);
print_r($values);

輸出:

 Array
(
    [0] => John
    [1] => 30
    [2] => New York
)

如上所示, array_values()返回了一個新的數組,其中包含了原數組中的所有值,鍵名被重新索引為數字。


忽略鍵名的實際應用

有時候,我們在處理關聯數組時,只關心值而不需要原有的鍵名。通過使用array_values() ,我們可以輕鬆地忽略這些鍵名,只獲取值。

例如,假設我們有一個數組存儲了某些用戶的登錄信息,而我們只想提取用戶名列表:

 $user_logins = [
    "user1" => "john_doe",
    "user2" => "jane_smith",
    "user3" => "alice_walker"
];

$usernames = array_values($user_logins);
print_r($usernames);

輸出:

 Array
(
    [0] => john_doe
    [1] => jane_smith
    [2] => alice_walker
)

在這個例子中,我們用array_values()提取了所有的用戶名並忽略了原數組中的鍵名。


為什麼使用array_values()

  1. 簡化處理:當我們只關心數組中的值而不是鍵名時,使用array_values()可以簡化代碼。

  2. 數據提取:特別是在提取數據時,如果需要清晰的索引數組, array_values()可以幫助我們重新索引數組,避免鍵名干擾。

  3. 數據一致性:通過將所有鍵名轉化為數字索引,生成的數據結構會更一致,適合傳遞給其他函數或用於生成表單、JSON響應等。


小結

PHP 的array_values()函數提供了一種簡單有效的方法,幫助我們從關聯數組中提取值並忽略鍵名。無論是在處理數據時還是在進行某些特定的操作時,這個函數都是一個非常有用的工具。

如果你正在處理一個包含鍵名的數組,但只關心其中的值, array_values()無疑是一個非常實用的函數。