在PHP中使用数组函数创建内部数组值的数组

时间:2012-03-30 05:26:26

标签: php arrays

  

可能重复:
  How to “flatten” a multi-dimensional array to simple one in PHP?

如何使用数组函数创建内部数组值数组?

这是数组

Array
(
    [0] => Array
    (
        [Detail] => Array
        (
            [detail_id] => 1
        )

    )

    [1] => Array
    (
        [Detail] => Array
        (
            [detail_id] => 4
        )

    )

)

我想创建一个包含上述数组detail_id的数组,即

array(1, 4)

在PHP中是否完成了任何数组函数?

3 个答案:

答案 0 :(得分:1)

没有任何一项功能可以单手操作。 array_map是你得到的最接近的,但它并没有真正处理额外的递归级别。你为什么不只使用循环?

$new_array = array();

foreach($main_array as $key => $second_array)
{
   foreach($second_array as $second_key => $third_array)
   {
      $new_array[] = $third_array['detail_id'];
   }
}

echo implode(',',$new_array);

答案 1 :(得分:0)

如果您正在寻找一个班轮:

$val = array(
   array('Detail' => array('detail_id' => 1)),
   array('Detail' => array('detail_id' => 4)),
 );

var_dump($val);

答案 2 :(得分:0)

我正在寻找这样的答案

$result = array_map( function($a) {
    return $a['Detail']['detail_id']; }, $mainArray
);

这是正确的..