Php 不等于数组组合


Php not equal array combine

我不明白如何组合这些数组。

$data = array("a", "b", "c")
$array = array(0 => Array(1 , 2, 3), 1 => Array(4, 5, 6))

我尝试了不同的功能,例如合并,合并,映射。

结果必须是:

 array(
    'a' => array(1, 4),
    'b' => array(2, 5),
    'c' => array(3, 6),
    )

这应该适合您:

<?php
    $data = array("a", "b", "c");
    $array = array(array(1 , 2, 3), array(4, 5, 6));
    $result = array();
    foreach($data as $key => $value) {
        foreach($array as $innerKey => $innerValue)
            $result[$value][] = $innerValue[$key];
    }
    print_r($result);
?>

输出:

Array (
    [a] => Array ( [0] => 1 [1] => 4 )
    [b] => Array ( [0] => 2 [1] => 5 )
    [c] => Array ( [0] => 3 [1] => 6 )
)
使用自

PHP 5.5 起array_column()可用的函数的解决方案:

$data  = array("a", "b", "c");
$array = array(0 => Array(1 , 2, 3), 1 => Array(4, 5, 6));
$result = array();
foreach($data as $i => $v) {
    $result[$v] = array_column($array, $i);
}

如果您坚持使用以前的版本,请使用Rizier123的解决方案(它只需多一点代码即可执行相同的操作。