PHP中如何將多個數組依照指定鍵名合併為一個數組
合併數組
php多維數組合併
按指定鍵名合併數組
PHP中如何將多個陣列依照指定鍵名合併為一個陣列
在開發中,我們經常會遇到將多個陣列依照指定鍵名合併為一個陣列的需求。這種需求在處理資料時非常常見,特別是在處理資料庫結果集等情況下。本文將介紹幾種常見的方法來實作這個功能,並給出對應的程式碼範例。
方法一:使用循環遍歷
最簡單的方法是使用循環遍歷所有的數組,並根據指定鍵名將對應的值加入到新的數組中。範例程式碼如下:
function mergeArrays($key, ...$arrays) { $result = []; foreach ($arrays as $array) { if (isset($array[$key])) { $result[] = $array[$key]; } } return $result; } $array1 = ['id' => 1, 'name' => 'Alice']; $array2 = ['id' => 2, 'name' => 'Bob']; $array3 = ['id' => 3, 'name' => 'Charlie']; $result = mergeArrays('name', $array1, $array2, $array3); print_r($result);
登入後複製
執行以上程式碼,輸出結果為:
Array ( [0] => Alice [1] => Bob [2] => Charlie )
登入後複製
登入後複製
登入後複製
方法二:使用array_map函數
array_map函數可以將一個回呼函數作用於多個陣列上,並傳回一個新的陣列。我們可以利用這個函數來實現多個陣列的合併。範例程式碼如下:
function mergeArrays($key, ...$arrays) { $callback = function ($array) use ($key) { return $array[$key] ?? null; }; $result = array_map($callback, $arrays); return array_filter($result, function($value) { return $value !== null; }); } $array1 = ['id' => 1, 'name' => 'Alice']; $array2 = ['id' => 2, 'name' => 'Bob']; $array3 = ['id' => 3, 'name' => 'Charlie']; $result = mergeArrays('name', $array1, $array2, $array3); print_r($result);
登入後複製
執行以上程式碼,輸出結果為:
Array ( [0] => Alice [1] => Bob [2] => Charlie )
登入後複製
登入後複製
登入後複製
方法三:使用array_reduce函數
array_reduce函數用於對數組中的元素進行迭代處理,將它們按照指定的回調函數進行處理,並傳回一個最終結果。我們可以利用這個函數來實現多個數組的合併。範例程式碼如下:
function mergeArrays($key, ...$arrays) { $callback = function ($result, $array) use ($key) { if (isset($array[$key])) { $result[] = $array[$key]; } return $result; }; $result = array_reduce($arrays, $callback, []); return $result; } $array1 = ['id' => 1, 'name' => 'Alice']; $array2 = ['id' => 2, 'name' => 'Bob']; $array3 = ['id' => 3, 'name' => 'Charlie']; $result = mergeArrays('name', $array1, $array2, $array3); print_r($result);
登入後複製
執行以上程式碼,輸出結果為:
Array ( [0] => Alice [1] => Bob [2] => Charlie )
登入後複製
登入後複製
登入後複製
以上就是幾種常見的方法來將多個陣列依照指定鍵名合併為一個陣列的範例。根據實際情況選擇合適的方法,可以大幅提高程式碼的效率和可讀性。希望對你有幫助!
以上是PHP中如何將多個數組依照指定鍵名合併為一個數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前
By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
擊敗分裂小說需要多長時間?
3 週前
By DDD
R.E.P.O.保存文件位置:在哪里以及如何保護它?
3 週前
By DDD

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PHP函數介紹—array_combine(): 將兩個數組合併成一個關聯數組
