當前位置: 首頁> 最新文章列表> [PHP array_values函數結合array_map函數使用,有哪些典型應用示例?

[PHP array_values函數結合array_map函數使用,有哪些典型應用示例?

gitbox 2025-06-11

示例一:將關聯數組中的值提取並統一格式化

在開發中,常常會處理結構如['name' => 'Tom', 'age' => 28]這類關聯數組。若我們只關心值,並希望統一轉成字符串形式:

 $data = ['name' => 'Tom', 'age' => 28];

$formatted = array_map('strval', array_values($data));

print_r($formatted);

輸出:

 Array
(
    [0] => Tom
    [1] => 28
)

這個場景中, array_values()去除了關聯鍵, array_map()則完成了類型轉換。


示例二:清洗數組值並重建索引

設想你從用戶輸入中得到了以下數組,含有多餘的空格和不同數據格式:

 $input = [
    'first' => ' Alice ',
    'second' => 'BOB',
    'third' => ' charlie '
];

你想要統一小寫、去除空格並重建索引數組:

 $clean = array_map('trim', array_map('strtolower', array_values($input)));

print_r($clean);

輸出:

 Array
(
    [0] => alice
    [1] => bob
    [2] => charlie
)

嵌套使用兩個array_map()來處理每個值,最後再用array_values()重新整理索引,結果簡潔而清晰。


示例三:批量提取對象屬性或數組鍵值

在對像數組或關聯數組列表中,我們常常需要提取某一個字段,比如以下場景中提取用戶的ID:

 $users = [
    ['id' => 101, 'name' => 'Lily'],
    ['id' => 102, 'name' => 'John'],
    ['id' => 103, 'name' => 'Mike']
];

$ids = array_values(array_map(function ($user) {
    return $user['id'];
}, $users));

print_r($ids);

輸出:

 Array
(
    [0] => 101
    [1] => 102
    [2] => 103
)

在這種結構化數據中, array_map()提取鍵值, array_values()保證了輸出數組的連續性,非常適合用作後續數據處理或前端JSON 輸出。


示例四:批量構造URL路徑

有時候我們需要根據某些數據字段批量生成帶參數的URL,例如根據用戶名生成個人資料頁面路徑:

 $names = ['alice', 'bob', 'charlie'];

$urls = array_map(function ($name) {
    return 'https://gitbox.net/user/profile/' . urlencode($name);
}, array_values($names));

print_r($urls);

輸出:

 Array
(
    [0] => https://gitbox.net/user/profile/alice
    [1] => https://gitbox.net/user/profile/bob
    [2] => https://gitbox.net/user/profile/charlie
)

array_map()用於生成路徑字符串, array_values()則在需要時確保數據是連續索引數組,適合用於JSON響應或傳遞給前端。