通过共享索引合并两个平面数组以在二维数组中创建行

问题描述 投票:0回答:2

所以我有两个数组。

$user_ids = array('123','124','125');
$names = array('john','bob','susie');

现在,所有这些数组都已匹配。这意味着 123 是 john 的 user_id,124 是 Bob 的 user_id,等等(因此两个数组都有匹配的键)

但我想最终为每个用户提供一个多维数组及其 user_id 和 name,而不是将它们分开。

[
    ['user_id' => 123, 'name' => 'john'],
    ['user_id' => 124, 'name' => 'bob'],
    ['user_id' => 125, 'name' => 'susie'],
]
php arrays multidimensional-array mapping merging-data
2个回答
2
投票

您可以根据您的需求尝试使用

array_combine()
array_map()

$user_ids = array('123','124','125');
$names = array('john','bob','susie');

$new_array = array_combine($user_ids, $names);

$new_array = array_map(function($name, $id){
    return array('id'=>$id, 'name'=>$name);}, $names, $user_ids
);

0
投票
$multiarr = array("id" => $user_ids, "names" => $names);
© www.soinside.com 2019 - 2024. All rights reserved.