PHP での多次元配列の転置
PHP の領域では、多次元配列を操作して目的のデータ表現を実現するために操作が必要になることがよくあります。そのような変換の 1 つは、配列を転置し、その行と列を効果的に反転して、再構築された次元を持つ新しい配列を作成することです。
PHP で多次元配列を転置する方法
PHP で多次元配列を転置する最も簡単な方法は、array_unshift() と array_unshift() を組み合わせて使用することです。 call_user_func_array()。その方法は次のとおりです。
function transpose($array) { array_unshift($array, null); return call_user_func_array('array_map', $array); }
この関数は、配列キーのプレースホルダーとして機能する null 要素を配列の先頭に追加することによって機能します。次に、call_user_func_array() は、array_map を使用して、元の配列の要素を返す関数をマッピングすることで新しい配列を作成します。結果は、転置された配列です。
より一般化されたソリューション
複数の次元を持つ配列を含むより複雑なシナリオの場合、より一般化されたソリューションが必要です。目標は、次の方程式が成り立つように、次元数に関係なく配列を転置する関数を作成することです:
$foo[j][k][...][x][y][z] = $bar[z][k][...][x][y][j]
これを実現できる再帰関数の例を次に示します:
function transposeRecursive($array) { if (!is_array($array)) { return $array; } return array_map(function($item) { return transposeRecursive($item); }, $array[0]) + transposeRecursive(array_slice($array, 1)); }
この関数は配列を繰り返し処理し、最も内側の配列に到達するまでその次元を再帰的に転置します。転置と配列のスライスを組み合わせることで、配列が効果的に再構築され、前述の方程式が確実に成り立つようになります。
以上がPHP で多次元配列を効率的に転置するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。