【问题标题】:Convert Multidimensional arrays as key and value in PHP在 PHP 中将多维数组转换为键和值
【发布时间】:2017-05-22 18:17:08
【问题描述】:

我有 2 个多维数组如下:

数组1:

Array ( 
        [0] => Array ( 
                       [0] => 2D Design 
                       [1] => 3D Design & Modeling) 
        [1] => Array ( [0] => Android Developer 
                       [1] => Artificial Intelligence 
                       [2] => Web Developer)
       )

数组2:

Array ( 
        [0] => Array ( 
                       [0] => 5 
                       [1] => 10) 
        [1] => Array ( [0] => 2 
                       [1] => 4 
                       [2] => 6)
       )

我想将上述两个数组组合为keyvalue,如下所示。

Array ( 
        [0] => Array ( 
                       [2D Design] => 5 
                       [3D Design & Modeling] => 10 ) 
        [1] => Array ( 
                       [Android Developer] => 2 
                       [Artificial Intelligence] => 4 
                       [Web Developer] => 6 )
      )   

请帮我做这件事。我们将不胜感激。

【问题讨论】:

  • 使用array_key和array_values

标签: php arrays multidimensional-array


【解决方案1】:

使用array_combine() 函数通过使用一个“keys”数组和一个“values”数组中的元素创建一个数组。

注意:两个数组必须有相同数量的元素!

第一个参数数组作为新数组的键,第二个参数作为新数组的值。

$new_array=array();

for($i=0;$i<count($arr1);$i++)
{

   $new_array[$i]=array_combine($arr1[$i],$arr2[$i]); 
}

print_r($new_array);

输出:

 Array
(
 [0] => Array
    (
        [2D Design] => 5
        [3D Design & Modeling] => 10
    )

[1] => Array
    (
        [Android Developer] => 2
        [Artificial Intelligence] => 4
        [Web Developer] => 6
    )

 )

【讨论】:

  • 如果我的回答有用,请用绿色勾号标记它。它对将来的用户参考很有用@Shihas
  • 当然...这似乎很有用。
【解决方案2】:

这会起作用的,

$arr1 = array(
    0 => array(
        0 => "2D Design",
        1 => "3D Design & Modeling"),
    1 => array(0 => "Android Developer",
        1            => "Artificial Intelligence",
        2            => "Web Developer",
    ),
);
$arr2 = array(
    0 => array(
        0 => 5,
        1 => 10,
    ),
    1 => array(0 => 2,
        1            => 4,
        2            => 6,
    ),
);
$temp = [];
foreach ($arr1 as $k => &$v) {
    foreach ($v as $k1 => &$v1) {
        $temp[$k][$v1] = $arr2[$k][$k1];
    }
}
print_r($temp);

我已获取第一个数组 arr1 的值作为 temp 变量的键,并将其与 arr2 作为值的值映射到 temp 数组。
即使索引即 0,1,2,3 可以是任何值,此代码也将起作用。

这里正在工作code

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-26
    • 1970-01-01
    • 2021-12-02
    • 1970-01-01
    相关资源
    最近更新 更多