Créer un tableau contenant d'autres tableaux

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Créer un tableau contenant d'autres tableaux

Re: Créer un tableau contenant d'autres tableaux

par @rthur » 24 janv. 2022, 00:50

Pas besoin d'utiliser les fonctions array_*
Il s'agit de créer un tableau multidimensionnel, vois-le comme un répertoire avec des fichiers...

Voici la fonction pour ajouter un type, à toi de t'en inspirer pour ajouter une marque ou un modèle (ou plus exactement vu que marque et modèles sont des tableaux inspire-toi de ce qui suit :D )
function mon_type($TypeAAjouter, $Model, $Marque, $map) {
     $map['Voiture'][$Marque][$Model]=$TypeAAjouter;
     return $map;
}

$map=[];
$map = mon_type("Type 1", "Clio", "Renault", $map);

var_dump($map);
Cette fonction renvoie exactement ce que tu dois obtenir, toutefois je pense qu'il y a une erreur dans l'énoncé car cela veut dire que pour un modèle tu ne peux avoir qu'un seul type.
A mon sens, il faudrait que type soit un tableau et non pas un string afin de pouvoir en ajouter plusieurs.

Du coup, pour pouvoir ajouter plusieurs types ça donnerait qqch comme ça :
function mon_type($TypeAAjouter, $Model, $Marque, $map) {
     $map['Voiture'][$Marque][$Model][]=$TypeAAjouter;
     return $map;
}
Et si on veut améliorer, on peut aussi vérifier que le type n'existe pas déjà avant de l'ajouter afin d'éviter les doublons :
function mon_type($TypeAAjouter, $Model, $Marque, $map) {
     if (!@in_array($TypeAAjouter, $map['Voiture'][$Marque][$Model])) 
          $map['Voiture'][$Marque][$Model][]=$TypeAAjouter;
     return $map;
}

Créer un tableau contenant d'autres tableaux

par Titou26 » 23 janv. 2022, 23:29

Bonsoir à toutes et à tous,

Je débute en php !
Je cherche différents petits exercices sur le net pour apprendre et pour m'améliorer !

Mais là j'en ai un qui me scotch un peu..

Je dois créer des fonctions qui me permettront d'obtenir et d'afficher ce tableau suivant :

array(1) {
[“Voiture”] =>
array(1) {
[“Renault”] =>
array(1) {
["Clio”] =>
string(6) “Type 1”
}
}
}

Pour cela je dois m'aider de
ma_marque($MarqueAAjouter $map)
mon_modele($ModeleAAjouter, $Marque, $map)
mon_type($TypeAAjouter, $Model, $Marque, $map)

Ca fait quelques heures que je suis dessus, avec différentes variantes de la fonction array, mais j'avoue que je sèche...

Merci d'avance, et bonne soirée !