php - 将 2 个数组合并为 2d 数组而不丢失数据

标签 php arrays multidimensional-array

我有 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);

https://eval.in/859753

关于php - 将 2 个数组合并为 2d 数组而不丢失数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46168168/

相关文章:

ios - 是否可以将坐标数组保存到 firebase?

javascript - 如何通过函数传递对对象的引用?

c - 为什么在初始化多维数组时不能完全省略维度?

java - 我正在尝试创建一个 JTable,其中填充了对象 LinkedList 中保存的数据

python - 从 numpy 数组获取索引并应用于第二个低维数组以创建新数组

PHP [面向对象] : Memory allocation for Inheritance

php - 如何使用连接查询添加偏移量和限制?

php - 使用 php 显示当前页面的事件导航

php - MySql 查询 : difficulties to record a field with amount containing decimals

javascript - 从 json 数组中搜索并删除对象