如何在PHP中将树结构转换为平面数组

时间:2016-09-07 06:46:08

标签: php arrays

从数据库中获取数据并将其转换为树结构后,我的数组看起来像这样。

array(1) {  
  [6]=>  
  array(1) {  
    ["sub_id"]=>  
    array(3) {  
      [15]=>  
      array(1) {  
        ["sub_id"]=>  
        array(0) {  
        }    
      }  
      [16]=>  
      array(1) {  
        ["sub_id"]=>  
        array(0) {  
        }  
      }  
      [21]=>  
      array(1) {  
        ["sub_id"]=>  
        array(0) {  
        }  
      }    
    }    
  }  
}

但我想要只有平面阵列的键 数组{6,15,16,21}

1 个答案:

答案 0 :(得分:1)

我为你的输出创建了一个函数。请试试这个。

$result = get_elements($array);

function get_elements($array) {
    $result = array();
    foreach($array as $key => $row) {
        $result[] = $key;
        if(count($row['sub_id']) > 0) {
            $result = array_merge($result,get_elements($row['sub_id']));
        }
    }
    return $result;
}