多次元配列の列指向データ構造を Rowar 構造に変換する
プログラミングでは、次の列を持つ多次元配列を変換する必要がある場合があります。データをマージされたデータの行を含む 1 つにまとめます。この変換は、配列構造を回転することで実現できます。
列データを表す次の連想配列を考えてみましょう:
<code class="php">$where = array( 'id' => array( 12, 13, 14 ), 'date' => array( '1999-06-12', '2000-03-21', '2006-09-31' ) );</code>
必要な出力は、図に示すように、マージされたデータの行を含む多次元配列です。以下:
<code class="php">$comb = array( array(12, '1999-06-12'), array(13, '2000-03-21'), array(14, '2006-09-31') );</code>
この変換は、array_column とループ手法を組み合わせて使用して実現できます。 array_column 関数は配列から指定された列を抽出し、ループは各列を反復処理して目的の行形式を作成します。
これを実現するコード スニペットは次のとおりです。
<code class="php">$result = array(); foreach($where['id'] as $k => $v) { $result[] = array_column($where, $k); }</code>
このコードid 列を反復処理し、array_column を使用して日付列から対応する値を抽出します。結果として得られる配列 $result には、マージされたデータの行が含まれており、予想される出力の要件を満たしています。
以上が多次元配列を柱状構造から行状構造に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。