在php中使用数组合并数组

时间:2015-07-10 11:41:01

标签: php arrays multidimensional-array

我有这四种类型的独立数组

Array
(
    [0] => cmbt
    [1] => cmbt
)
Array
(
    [0] => airport
    [1] => guindy
)
Array
(
    [0] => 1000
    [1] => 500
)
Array
(
    [0] => 2500
    [1] => 1000
)

我需要像这样结合

array(
    0 => array(
        'cmbt',
        'airport',
        1000,
        2500
    ),
    1 => array(
        'cmbt',
        'guindy',
        500,
        1000,
    )

请帮帮我......

3 个答案:

答案 0 :(得分:1)

让我们假设你的主数组是$ all_array:

$wanted_array = array(0 => array(), 1 => array());
foreach($all_array as $element)
{
    $wanted_array[0][] = $element[0];
    $wanted_array[1][] = $element[1];
}

如果发生任何格式错误的$all_array,说这不包含任何错误处理。但它应该做你想做的事情

答案 1 :(得分:1)

$final_array = [];

$final_array[] = array_column($your_array, 0); 

$final_array[] = array_column($your_array, 1);
在此上下文中,

$your_array假设有一个包含所有4个较小数组的大数组。这应该是一个整体问题。

它应该让你开始走上良好的轨道。

答案 2 :(得分:1)

SPL' MultipleIterators对此类任务非常有用:

$array1 = [
    'cmbt', 'cmbt',
];
$array2 = [
    'airport', 'guindy',
];
$array3 = [
    1000, 500,
];
$array4 = [
    2500, 1000,
];


$mi = new MultipleIterator();
$mi->attachIterator(new ArrayIterator($array1));
$mi->attachIterator(new ArrayIterator($array2));
$mi->attachIterator(new ArrayIterator($array3));
$mi->attachIterator(new ArrayIterator($array4));
$result = [];
foreach($mi as $values) {
    $result[] = $values;
}

var_dump($result);