如何在PHP中展平数组

时间:2012-01-16 07:46:09

标签: php arrays

我有一个这样的数组:

Array
(
    [0] => Array
        (
            [Edisi] => Array
                (
                    [0] => 193|Oktober|2001| 
                )

            [Pengantar] => Array
                (
                    [0] =>  Halo!! 
                )

我想把它弄平:

Array
(
  [Edisi]=>193|oktober|2001|,
  [Pengantar=>Halo!!
)

2 个答案:

答案 0 :(得分:0)

你见过array_values()吗?如果没有,试试这个:

$newArray = Array(
    'edisi' => $oldArray[0]['edisi'][0],
    'Pengantar' => $oldArray[0]['Pengantar'][0]
);

没有冒犯,但这并不复杂,并且之前曾在此网站上被问过几次。我们不是来做你的功课或为你建立你的程序。请多多时间考虑一下你的问题,然后再去寻求帮助。然后,如果您真的需要帮助,请解释您尝试过的内容以及您遇到问题的原因。

答案 1 :(得分:0)

如果这个数组的类型没有变化(意味着总是有第一级,那么你的索引然后是你的值的零索引),你可以这样做:

$array = array(
    array(
        'foo' => array([0] => 'hello'),
        'foo2' => array([0] => 'hello2'),
    ),
    array(
        'wecanhandlemore' => array([0] => 'hello3'),
        'wecanhandlemore2' => array([0] => 'hello4'),
    ),
);
$target = array();
foreach ($array as $subarray) {
    foreach ($subarray as $key => $valWithIndex) {
        $target[$key] = $valWithIndex[0];
    }
}

应该导致:

array(
    'foo' => 'hello',
    'foo2' => 'hello2',
    'wecanhandlemore' => 'hello3',
    'wecanhandlemore2' => 'hello4',
);