我有 2 个数组,想要合并为第三个数组,其中一个数组作为键,另一个数组作为值。我尝试使用 array_combine(),但该函数将消除所有重复的键,因此我希望结果数组为二维数组。示例数组如下:
$keys = {0,1,2,0,1,2,0,1,2};
$values = {a,b,c,d,e,f,g,h,i};
$result = array(
[0]=>array(0=>a,1=>b,2=>c),
[1]=>array(0=>d,1=>e,2=>f),
[2]=>array(0=>g,1=>h,2=>i)
);
//What i am using right now is:
$result = array_combine($keys,$values);
但它只返回数组(0=>g,2=>h,3=>i)。任何建议将不胜感激!
最佳答案
你可以像下面这样做:-
<?php
$keys = array(0,1,2,0,1,2,0,1,2);
$values = array('a','b','c','d','e','f','g','h','i');
$values = array_chunk($values,count(array_unique($keys)));
foreach($values as &$value){
$value = array_combine(array_unique($keys),$value);
}
print_r($values);
关于php - 将 2 个数组合并为 2d 数组而不丢失数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46168168/