當前位置: 首頁> 最新文章列表> 合併兩個不同字段的值到新數組中

合併兩個不同字段的值到新數組中

M66 2025-05-11

在PHP 中, array_column函數用於從一個多維數組中提取單一列的值。它非常有用,尤其是在你想要從二維數組中提取特定字段的值時。那麼,如何將兩個不同字段的值合併到一個新數組中呢?下面就來展示如何利用array_column來實現這一功能。

示例場景:

假設我們有一個數組,其中每個元素包含用戶的idname ,我們希望提取出這些值並將它們合併到一個新的數組中。

代碼示例:

 <?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);
?>

代碼解釋:

  1. 數據數組:我們首先定義了一個包含idname字段的二維數組$data

  2. 提取數據:利用array_column函數分別從$data中提取出idname字段的值,存儲在$ids$names數組中。

  3. 合併數組:通過array_map函數,我們將$ids和$ names數組中的值按順序一一合併成新的關聯數組,格式為['id' => $id, 'name' => $name]

  4. 輸出結果:最終,我們用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則幫助我們將兩個數組中的值按照相應的規則合併起來。這種方法不僅適用於合併兩個字段,也可以輕鬆擴展到多個字段的合併。