多维数组到简单数组

时间:2017-05-20 14:48:58

标签: php arrays multidimensional-array

我有一个像这样的数组

array(5) { 
    [0]=> array(2) { [0]=> string(5) "REFER" [1]=> string(12) "Não Sócios" } 
    [1]=> array(2) { [0]=> string(5) "REFER" [1]=> string(12) "Não Sócios" } 
    [2]=> array(2) { [0]=> string(5) "REFER" [1]=> string(12) "Não Sócios" } 
    [3]=> array(2) { [0]=> string(5) "REFER" [1]=> string(12) "Não Sócios" } 
    [4]=> array(2) { [0]=> string(5) "REFER" [1]=> string(12) "Não Sócios" } 
}

并希望将此数组转换为像这样的数组

array("REFER, Não Sócios", "REFER, Não Sócios", "REFER, Não Sócios", "REFER, Não Sócios", "REFER, Não Sócios");

可能吗?如果是的话,我该怎么办呢? 提前谢谢

3 个答案:

答案 0 :(得分:1)

您可以使用array_map执行此操作,例如:

$r = array_map(function($v) { return $v[0] . ', ' . $v[1]; }, $source_array);

答案 1 :(得分:1)

是。假设该数组被称为$refer -

$new_refer = array_map(function($val) {
    return implode(', ', $val);
}, $refer);

使用parray_map迭代元素并使用回调函数返回的值构造一个新数组。在该函数内部,我使用implode来组合每个元素的值(这是一个数组本身)并将它们与', '粘合在一起。

答案 2 :(得分:-1)

这是你可以做到的一种方式:

$a = [
    [ 0 => "REFER", 1 => "Nao Socios" ] ,
    [ 0 => "REFER", 1 => "Nao Socios" ] , 
    [ 0 => "REFER", 1 => "Nao Socios" ] , 
    [ 0 => "REFER", 1 => "Nao Socios" ] ,
    [ 0 => "REFER", 1 => "Nao Socios" ] 
];
$res = [];

foreach ($a as $k => $v) {
    $res[] = $v[0];
    $res[] = $v[1];
}
var_dump($res);