在PHP 中, array_column函數用於從一個多維數組中提取單一列的值。它非常有用,尤其是在你想要從二維數組中提取特定字段的值時。那麼,如何將兩個不同字段的值合併到一個新數組中呢?下面就來展示如何利用array_column來實現這一功能。
假設我們有一個數組,其中每個元素包含用戶的id和name ,我們希望提取出這些值並將它們合併到一個新的數組中。
<?php
// 原始數據數組
$data = [
['id' => 1, 'name' => 'Alice'],
['id' => 2, 'name' => 'Bob'],
['id' => 3, 'name' => 'Charlie']
];
// 使用 array_column 提取 'id' 和 'name'
$ids = array_column($data, 'id');
$names = array_column($data, 'name');
// 合併兩個字段的值
$merged = array_map(function($id, $name) {
return ['id' => $id, 'name' => $name];
}, $ids, $names);
// 輸出合併後的數組
print_r($merged);
?>
數據數組:我們首先定義了一個包含id和name字段的二維數組$data 。
提取數據:利用array_column函數分別從$data中提取出id和name字段的值,存儲在$ids和$names數組中。
合併數組:通過array_map函數,我們將$ids和$ names數組中的值按順序一一合併成新的關聯數組,格式為['id' => $id, 'name' => $name] 。
輸出結果:最終,我們用print_r函數輸出合併後的數組。
Array
(
[0] => Array
(
[id] => 1
[name] => Alice
)
[1] => Array
(
[id] => 2
[name] => Bob
)
[2] => Array
(
[id] => 3
[name] => Charlie
)
)
通過array_column函數和array_map ,我們可以非常方便地將數組中的不同字段合併到一個新數組中。 array_column提取字段的過程簡單快捷,而array_map則幫助我們將兩個數組中的值按照相應的規則合併起來。這種方法不僅適用於合併兩個字段,也可以輕鬆擴展到多個字段的合併。