Normalement, je vous demanderais comment transformer un tableau à 3 ramifiés à 4 ramifiés, comme celui-ci:
function flip($arr) { $out = array(); foreach ($arr as $key => $subarr) { foreach ($subarr as $subkey => $subvalue) { $out[$subkey][$key] = $subvalue; } } return $out; }
4 Réponses :
Placez simplement le tableau dans le bon ordre. En supposant que vous avez des tableaux relativement petits, la solution la plus facile est simplement de créer un tout nouveau tableau pendant cette marche.
Une solution sera de la forme: p>
Vous allez. Ça marche. :)
démonstration p>
J'ai corrigé les fautes de frappe de votre code. Rafraîchissant, il fonctionne comme souhaité. Veuillez éditer votre réponse pour inclure une explication éducative qui profite aux chercheurs. Je voudrais uv les rares réponses correctes sur cette page, mais je n'ai jamais des réponses inexpliquées UV.
D'autre part, cet extrait contient des numéros de numéro de code-magique ( 3 code> et
4 code>), il ne sera donc pas instantanément portable à d'autres cas d'utilisation.
function flip_row_col_array($array) { $out = array(); foreach ($array as $rowkey => $row) { foreach($row as $colkey => $col){ $out[$colkey][$rowkey]=$col; } } return $out; }
Cette réponse inexpliquée est exactement ce que l'OP a dit qu'ils étaient pas b> à la recherche de. Il s'agit d'une technique de transposition classique (laquelle PHP offre déjà une manière native de le faire). Preuve: 3v4l.org/sam2f
OP a dit qu'ils ne le veulent pas.
Tout d'abord, ce que vous ne voulez pas (qui est la moitié de la solution à ce que vous voulez) ...
Le terme pour "rangement des lignes et des colonnes" est "transposant". P>
PHP a eu une technique indigène élégante pour cette action même puisque l'opérateur de splat a été ajouté à la langue. P>
Les mises en garde à garder à l'esprit sont les suivantes: p>
code: ( démo ) p> sortie: p> Voici un extrait de style fonctionnel qui intègre la technique de transposition de PHP Tout en veillant à ce que la sortie ait le même nombre de colonnes que l'entrée. p> maintenant, pour ce que vous voulez! h2>
Qu'en est-il de
array_flip code>? Ça ne va pas?
Non, car cela retourne les clés et les valeurs d'un tableau 1D. Ceci est complètement différent.
Des lignes de commutation simples dans des colonnes peuvent être effectuées en utilisant
array_column () code> fonction
array_column () est php> = 5,5