按顺序合并两组数组键

时间:2017-02-20 14:22:19

标签: php arrays merge

我有多个阵列,我想获得一个只有键的数组,但要确保键保持有序。

该项目的结果是每个元素都以CSV格式排成一行。现在我想将标签数组作为工作表中的第一行,然后每一行都应该跟随。某些数据数组会有更多详细信息,请注意Label 3.x

$aArr1 = array (
    'Label 1' => 'Value',
    'Label 2' => 'Value',
    'Label 3.1' => 'Value',
    'Label 4' => 'Value',
    'Label 5' => 'Value',
    'Label 6' => 'Value'
);

$aArr2 = array (
    'Label 1' => 'Value',
    'Label 2' => 'Value',
    'Label 3.1' => 'Value',
    'Label 3.2' => 'Value',
    'Label 3.3' => 'Value',
    'Label 4' => 'Value',
    'Label 5' => 'Value'
);

$aArr3 = array (
    'Label 1' => 'Value',
    'Label 2' => 'Value',
    'Label 3.1' => 'Value',
    'Label 3.2' => 'Value'
)

$aDesiredLabelArr = array (
    'Label 1',
    'Label 2',
    'Label 3.1',
    'Label 3.2',
    'Label 3.3',
    'Label 4',
    'Label 5',
    'Label 6'
);

我的输入为$aArr1$aArr2& $aArr3。我想要的输出是$aDesiredLabelArr。我用PHP写作。

谢谢!

1 个答案:

答案 0 :(得分:1)

$result = array_keys(array_merge($aArr1, $aArr2, $aArr3)); 
sort($result, SORT_REGULAR );


[
    (int) 0 => 'Label 1',
    (int) 1 => 'Label 2',
    (int) 2 => 'Label 3.1',
    (int) 3 => 'Label 3.2',
    (int) 4 => 'Label 3.3',
    (int) 5 => 'Label 4',
    (int) 6 => 'Label 5',
    (int) 7 => 'Label 6'
]