如何解决如何将2个多维数组合并为一个
我是 PHP 新手,需要多维数组方面的帮助。具体来说,我希望 array1 是“值”,而 array2 是“键”。
数组 1:
Array
(
[0] => Array
(
[0] => 100
[1] => 2020-01-02
[2] => 75
)
[1] => Array
(
[0] => 50
[1] => 2020-01-03
[2] => 35
)
[2] => Array
(
[0] => 200
[1] => 2020-01-05
[2] => 165
)
)
数组 2:
Array
(
[0] => Array
(
[0] => Price
[1] => Date
[2] => PriceNet
)
[1] => Array
(
[0] => Price
[1] => Date
[2] => PriceNet
)
[2] => Array
(
[0] => Price
[1] => Date
[2] => PriceNet
)
)
想要的结果:
Array
(
[0] => Array
(
[Price] => 100
[Date] => 2020-01-02
[PriceNet] => 75
)
[1] => Array
(
[Price] => 50
[Date] => 2020-01-03
[PriceNet] => 35
)
[2] => Array
(
[Price] => 200
[Date] => 2020-01-05
[PriceNet] => 165
)
)
我研究了“array_merge”和“array_combine”,但我是新手,想找出解决问题的聪明方法。
非常感谢任何帮助?
解决方法
您可以使用 array_map
和 array_combine
的力量:
$array3 = array_map("array_combine",$array2,$array1);
,
写得很快,但没有经过很好的测试;) 它让你满意吗?
当然这段代码有点硬编码;)
<?php
$array1 = Array
(
0 => Array
(
0 => 100,1 => '2020-01-02',2 => 75
),1 => Array
(
0 => 50,1 => '2020-01-03',2 => 35
),2 => Array
(
0 => 200,1 => '2020-01-05',2 => 165,)
);
$array2 = Array
(
0 => Array
(
0 => 'Price',1 => 'Date',2 => 'PriceNet'
),1 => Array
(
0 => 'Price',2 => Array
(
0 => 'Price',2 => 'PriceNet'
)
);
$array3 = [];
foreach($array1 as $key => $value) {
$array3[$key] = [
$array2[$key][0] => $array1[$key][0],$array2[$key][1] => $array1[$key][1],$array2[$key][2] => $array1[$key][2],];
}
print_r($array3);
,
您可以使用 foreach 或 for 循环。但是我已经使用 foreach 循环为您实现了一个解决方案。
$arr1 = [
[100,'2020-01-02',75],[50,'2020-01-03',35],[100,'2020-01-05',165],];
$arr2 = [
['price','date','priceNet'],['price',];
$finalResult = [];
$columns = reset($arr2);
foreach ($arr1 as $values) {
$result = [];
foreach ($values as $key => $value) {
$result[$columns[$key]] = $value;
}
$finalResult [] = $result;
}
print_r($finalResult);
输出如下:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。