Tableau multidimenssionnel

Par Frank Hélin, il y a 11 ans


Bonjour,

Voici un tableau dit multidimenssionnel :

$menu["pays"][a]="Canada";
$menu["pays"][b]="Islande";
$menu["pays"][c] ="Pologne";

foreach ($menu as $t) {
    echo key($menu) ."<br />";
    echo $t[b]."<br />";
    echo $t[a]."<br />";
} 

Toujours en quête d'un code plus concis et limpide, je me demande s'il est possible d'ajouter plusieurs éléments à une même clef sur une seule ligne. Un peu comme çà, sauf que ça ne fonctionne pas :

$menu["pays"][a][b][c]="Canada", "Islande", "Pologne";

Merci d'avance !

4 réponses

skp, il y a 11 ans

Bonjour,

Tu peux faire ça

$menu["pays"] = ["a" => "Canada", "b" => "Islande", "c" => "Pologne"];

ou

$menu["pays"] = array("a" => "Canada", "b" => "Islande", "c" => "Pologne");
hugopb82, il y a 11 ans

Tu as aussi la fonction array_push() : la doc php

Tu l'utilises en faisant :

array_push($menu["pays"], array("a" => "Canada", "b" => "Islande", "c" => "Pologne"));

Cette fonction est peu claire à mon goût, mais il vaut mieux connaître toutes les possibilités de php si un jour tu viens à travailler avec d'autres développeurs (ce qui est peut-être déjà le cas...)
Hugo

Frank Hélin, il y a 11 ans

Oula, je m'initie à php et je ne pense pas avoir vocation à travailler dans le dévellopement. Je ne travaille donc pas avec d'autres développeurs. Mais je prends tout ce qu'on me donne qui peut toujours être utile et je te remercie pour l'info. :-)

hugopb82, il y a 11 ans

En tout cas les solutions de @skp me paraissent plus simple à comprendre, surtout si tu t'inities à php!
Si ces réponses te conviennent, met un petit 'Il a répondu à ma question', ça fait toujours plaisir ;)