多维数组到一维数组

时间:2014-08-23 11:15:24

标签: php arrays

我有一个看起来像这样的数组:

Array
(
    [0] => Array
        (
            [0] => Thomas
            [1] => Jansen
        )

    [1] => Array
        (
            [0] => Lisa
            [1] => Meier
        )

    [2] => Array
        (
            [0] => Gerda
            [1] => Ohm
        )

)

我想要实现的是这样的数组:

Array
(
    [0] => "Jansen, Thomas"
    [1] => "Meier, Lisa"
    [2] => "Ohm, Gerda"
)

感谢您的帮助!

3 个答案:

答案 0 :(得分:3)

您可以使用array_mapimplode来获得结果

http://php.net/manual/de/function.array-map.php

http://de1.php.net/manual/de/function.implode.php

$myData = array_map(function($v){
    return implode(', ', array_reverse($v));
}, $array); 

// $myData holds
Array
(
   [0] => "Jansen, Thomas"
   [1] => "Meier, Lisa"
   [2] => "Ohm, Gerda"
)

最好使用返回的数组$myData = array_map(...,例如foreach$myData[0],然后将每个元素设置为自己的变量。


评论后编辑

PHP< = 5.3实施

function getStrings($v)
{
    return implode(',', array_reverse($v));
}
$myData = array_map('getStrings', $array); 

答案 1 :(得分:2)

$array  = array(.... your array ....);
$array2 = array();
foreach($array as $val) {
   $array2[] = $val[1].', '.$val[0];
}

以下是一个示例:http://codepad.org/qsaQp9sp

您在 ins0 的答案中获得了相同的结果,因此您可以选择更喜欢的内容。

答案 2 :(得分:1)

foreach($arr as $i => $val){
    $arr[$i]="{$val[1]}, {$val[0]}";
}