Foreach "tableaux dans un tableau

php81120 Messages postés 4 Statut Membre -  
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

2 réponses

  1. 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
  2. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     

    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
    1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       

      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