Foreach "tableaux dans un tableau

Fermé
php81120 Messages postés 1 Date d'inscription samedi 24 décembre 2022 Statut Membre Dernière intervention 24 décembre 2022 - 24 déc. 2022 à 06:17
Misterlolo57 Messages postés 12 Date d'inscription jeudi 29 décembre 2022 Statut Membre Dernière intervention 30 décembre 2022 - 30 déc. 2022 à 16:32

Bonjour, On me demande d'initialiser le tableau suivant:

$tabNotes = array (['bernard'] => array(12,20,14), ['bobo'] => array(6,18,4), ['bibi'] => array(9,17,14), ['bambou'] => array(19,3,14)).

L'objectif est d'afficher les notes et le nom de chaque personne.

J'ai fais le code suivant avec la boucle foreach:

----------------------------------------------------------------------------------------

<?php

$tabNotes = array( ['bernard'] => array(12,20,14), ['bobo'] => array(6,18,4), ['bibi'] => array(9, 17,14), ['bambou'] => array(19,3,14) )
foreach($tabNotes as $nom => $notes)
{

echo "$nom => $notes\n";

}


?>

-----------------------------------------------------------------------------------------------------------------------------------

Mais j'ai l'erreur suivante qui s'affiche :

Parse error: syntax error, unexpected 'foreach' (T_FOREACH) in [...] on line 4

Merci beaucoup aux personnes pouvant me proposer des solutions pour ce sujet, bonne journée.

m^^


Windows / Chrome 108.0.0.0

2 réponses

Misterlolo57 Messages postés 12 Date d'inscription jeudi 29 décembre 2022 Statut Membre Dernière intervention 30 décembre 2022 10
Modifié le 30 déc. 2022 à 16:33

Il y a plusieurs erreurs dans ton code.

Tout d'abord, tu n'as pas mis de point-virgule à la fin de ta déclaration de tableau.

Ensuite, tu utilise des crochets pour définir les clés de votre tableau associatif, mais en PHP, il faut utiliser des accolades.

Enfin, pour afficher chaque élément du tableau associatif, tu peux utiliser la boucle foreach comme tu le fait, mais tu dois utiliser une boucle interne pour parcourir les notes de chaque personne.

Voici comment ton code devrait être écrit :

<?php

$tabNotes = array( 
  'bernard' => array(12,20,14), 
  'bobo' => array(6,18,4), 
  'bibi' => array(9, 17,14), 
  'bambou' => array(19,3,14) 
);
foreach($tabNotes as $nom => $notes){
  echo "$nom => ";
  foreach($notes as $note){
    echo "$note ";
  }
  echo "\n";
}

?>

Ce code affichera les notes de chaque personne sur une ligne séparée, comme ceci :

bernard => 12 20 14
bobo => 6 18 4
bibi => 9 17 14
bambou => 19 3 14


1
jordane45 Messages postés 38150 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 29 avril 2024 4 651
24 déc. 2022 à 09:07

Bonjour

Ton tableau est mal initialisé

$tabNotes = array('bernard'=> array(12,20,14), 'bobo' => array(6,18,4), 'bibi'=> array(9, 17,14), 'bambou' => array(19,3,14)
);

0
jordane45 Messages postés 38150 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 29 avril 2024 4 651
24 déc. 2022 à 09:20

Tu auras un autre souci ensuite

les notes sont elles même dans un array, donc ta ligne

echo "$nom => $notes\n";

te retournera également une erreur.

Il te faudra faire une seconde boucle pour afficher les notes

0