0

次の方法でデータベースから結果セットの行を取得しています。

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これらの行はすべて、1 つの配列内の異なる配列として提供されますが、以下の形式の 1 つの配列が必要です。

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
4

1 に答える 1

1

多次元配列から単一の配列を作成するために、このような関数を作成します

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; 
} 
于 2012-12-28T06:45:11.963 に答える