Foreach "tableaux dans un tableau

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. 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
    1. Modérateur

      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. Modérateur

        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