【问题标题】:Multidimensional array to array多维数组到数组
【发布时间】:2011-10-19 21:25:15
【问题描述】:

我经常有一个二维数组:

array(
  array('key' => 'value1'),
  array('key' => 'value2'),
  ...
);

并且需要组成一维数组:

array('value1', 'value2')

这可以通过foreach轻松完成,但我想知道是否有一些php 5.3方法可以在一行中完成。

【问题讨论】:

标签: php php-5.3


【解决方案1】:
$new_array = array_map(function($el) { return $el['key']; }, $array);

【讨论】:

    【解决方案2】:
    <?php
        $arr = array(array(141,151,161,140),2,3,array(101,202,array(303,404),407));
        function array_oned($arrays){
            static $temp_array = array();
            foreach($arrays as $key){
                if(is_array($key)){
                    array_oned($key);
                }else {
                    $temp_array [] = $key;
                }
            }
            return $temp_array;
        }
        echo print_r(array_oned($arr));
    
    ?>
    

    你的意思是这样的吗?

    【讨论】:

      【解决方案3】:
      array_reduce($array,function($arr,$new){
          $arr[]=$new['key'];
      },array())
      

      【讨论】:

        【解决方案4】:

        如果内部数组中只有一个值:

        $values = array_map('array_pop', $yourArray);
        

        回调可以是函数名,那么为什么要重新实现一些已经作为核心函数存在的东西呢? :)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-02-20
          • 2011-01-17
          • 2016-05-26
          • 2017-03-27
          相关资源
          最近更新 更多