以特定的方式格式化数据库中的数组行


Array formatting in a specific way from the database rows?

我以以下方式从数据库获得结果集行。

N/w_id   N/W_name   N/W_contact   C_id    C_name   Seconds
  1         x           e1         1        abc     2000
  1         x           e1         1        abc     3450
  1         x           e1         2        def     2300
  1         x           e1         3        ghi     800
  1         x           e1         3        ghi     5678
  2         y           e2         12       abcd    2000
  2         y           e2         12       abcd    3450
  2         y           e2         21       defg    2300
  2         y           e2         32       ghij    800
  2         y           e2         32       ghij    5678

当我将使用$this->model->function_name()的数组中的所有这些行提取到称为$result的数组中时。所有这些行都是作为不同的数组在一个数组,但我想要一个单一的数组从$result在以下格式。

array   =>  [0] =>  [N/W_id]        =>  1
                    [N/W_name]      =>  x
                    [N/W_contact]   =>  e1
                    [cha]           =>  [0] =>  [C_id]      =>  1
                                                [C_name]    =>  abc
                                                [Seconds]   =>  5450
                                        [1] =>  [C_id]      =>  2
                                                [C_name]    =>  def
                                                [Seconds]   =>  2300
                                        [2] =>  [C_id]      =>  3
                                                [C_name]    =>  ghi
                                                [Seconds]   =>  6478
             [1]   =>   [N/W_id]        =>  2
                        [N/W_name]      =>  y
                        [N/W_contact]   =>  e2
                        [cha]           =>  [0] =>  [C_id]      =>  12
                                                    [C_name]    =>  abcd
                                                    [Seconds]   =>  5450
                                            [1] =>  [C_id]      =>  21
                                                    [C_name]    =>  defg
                                                    [Seconds]   =>  2300
                                            [2] =>  [C_id]      =>  32
                                                    [C_name]    =>  ghij
                                                    [Seconds]   =>  6478

编写这样一个函数,用于从多维数组创建单个数组

function array_flatten($array) { 
  if (!is_array($array)) { 
    return FALSE; 
  } 
  $result = array(); 
  foreach ($array as $key => $value) { 
    if (is_array($value)) { 
      $result = array_merge($result, array_flatten($value)); 
    } 
    else { 
      $result[$key] = $value; 
    } 
  } 
  return $result; 
}