多个数组合并问题[重复]

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

这个问题在这里已有答案:

我有两个数组

第一个阵列

array(
    [0] => +970
    [1] => +971
    [2] => +972
)

和第二阵列

array(
    [0] => 465465454
    [1] => 321321355
    [2] => 987946546
)

我想像这样合并它们

array(
    [+970] => 465465454
    [+971] => 321321355
    [+972] => 987946546
)

我尝试使用array_merge,但这给了我一些我不想要的结果,例如

$busi_code  = $page1_data->business_code; //array
$busi_num  = $page1_data->business_number; //array

$business_phone_numbers = array_merge($busi_code, $busi_num);

echo '<pre>';
print_r($business_phone_numbers);
echo '</pre>';

结果是

[0] => +970
[1] => +971
[2] => +972
[3] => 465465454
[4] => 321321355
[5] => 987946546

所以请指导我如何达到我要求的结果。

php arrays array-merge
3个回答
6
投票

你正在寻找array_combine,而不是array_merge

使用keys数组中的值作为键创建数组,将values数组中的值作为相应的值。

$business_phone_numbers = array_combine($busi_code, $busi_num);

https://eval.in/954799


4
投票

这是array_combine功能的工作:

$business_phone_numbers = array_combine($busi_code, $busi_num);

DOCS:http://php.net/manual/en/function.array-combine.php


-1
投票

您必须使用array_combine。

试试这个:

$a = array(
0 => +970,
1 => +971,
2 => +972);

$b = array(
0 => 465465454,
1 => 321321355,
2 => 987946546);

$r = array_combine($a,$b);
print_r($r);
© www.soinside.com 2019 - 2024. All rights reserved.