用php中的数组组合数组



我有四个类型的独立数组

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,
    )

请帮我…

假设您的主数组是$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,则不包含任何错误处理。但它应该做你想要的

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

在此上下文中,$your_array假设存在一个包含所有4个较小数组的大数组。这应该是一个整体问题。

它应该会让你在一条好的赛道上起步。

SPL的MultipleIterator对于这种类型的任务非常有用:

$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);

相关内容

  • 没有找到相关文章

最新更新