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
Réponse acceptée

Bonjour,

Tu peux faire ça

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

ou

$menu["pays"] =  array("a" => "Canada", "b" => "Islande", "c" => "Pologne");
hugopb82
Réponse acceptée

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

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. :-)

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 ;)