Foreach "tableaux dans un tableau

php81120 Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
Misterlolo57 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -

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

A voir également:

2 réponses

Misterlolo57 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   10
 

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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 

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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 

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