Menu

Besoin d'un coup de main pour un code [Résolu]

Messages postés
7
Date d'inscription
lundi 21 février 2011
Dernière intervention
23 novembre 2018
-


<?php
$peopleList = array('John' => 18, 'Pierre' => 16, 'Magalie' => 26);
foreach ($peopleList as $key => $value){
          if($value >= 18){
          echo 'le prénom est majeur';
          }else{
          echo 'le prénom est mineur';
    }
}
?>


Bonjour, dans le cadre d'un exercice je dois compléter ce code et je ne vois pas où est mon erreur, selon moi ce code est correct et correspond à l’énoncé mais ce n'est pourtant pas bon, si quelqu'un pouvait m'indiquer où est mon erreur et/ou me donner une piste sur ce qu'il manque je lui en serais très reconnaissant.
Merci.
Afficher la suite 

Votre réponse

2 réponses

Messages postés
24634
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 février 2019
1859
0
Merci
Bonjour,

Pour commencer, à l'avenir, merci de poster ton code correctement.
Pour ça, il faut utiliser les BALISES DE CODE
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

Ensuite,
Tu as un IF / ELSE .... mais tu as indiqué deux conditions...
Donc soit tu retires la secondes (qui se trouve au niveau du ELSE ), soit tu utilises un IF / ELSEIF
MySTyQ
Messages postés
7
Date d'inscription
lundi 21 février 2011
Dernière intervention
23 novembre 2018
-
Merci pour la réponse et désolé pour le mauvais poste j'ai retiré la seconde valeure après else mais rien n'y fait la réponse est toujours mauvaise.
Commenter la réponse de jordane45
Messages postés
24634
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 février 2019
1859
0
Merci
Ton code pourtant bon désormais....

Tu peux l'améliorer comme ceci
$peopleList = array('John' => 18, 'Pierre' => 16, 'Magalie' => 26);
foreach ($peopleList as $key => $value){
  echo '<br>le prénom '.$key;
  if($value >= 18){
    echo " est majeur";
  }else{
    echo ' est mineur';
  }
}


ou encore mieux, en utilisant l'écriture ternaire
foreach ($peopleList as $key => $value){
  echo '<br>le prénom '.$key . " est " . ($value >= 18 ? " majeur" : " mineur");
}


Dans les deux cas, ça retourne :

le prénom John est majeur
le prénom Pierre est mineur
le prénom Magalie est majeur

MySTyQ
Messages postés
7
Date d'inscription
lundi 21 février 2011
Dernière intervention
23 novembre 2018
-
j'ai également regarder partout et tout les sites ne trouvent aucune erreur de syntaxe dans mon code, peux être que cela viens du "changer le prénom par le prénom de la personne" dans l'énoncé mais je ne comprend pas ce que je suis sensé modifié.
Merci encore pour l'aide
jordane45
Messages postés
24634
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 février 2019
1859 -
$peopleList = array('John' => 18, 'Pierre' => 16, 'Magalie' => 26);
foreach ($peopleList as $key => $value){
  echo $key;
  if($value >= 18){
    echo " est majeur";
  }else{
    echo " est mineur";
  }
}
MySTyQ
Messages postés
7
Date d'inscription
lundi 21 février 2011
Dernière intervention
23 novembre 2018
-
cela ne fonctionne toujours pas j'ai également essayé d'utiliser "$key est majeur/mineur" a la place des espaces mais ce n'est toujours pas correcte, c'est vraiment étrange
jordane45
Messages postés
24634
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 février 2019
1859 > MySTyQ
Messages postés
7
Date d'inscription
lundi 21 février 2011
Dernière intervention
23 novembre 2018
-
ce n'est pas correct où ???
Car le code fait exactement ce qui est demandé.
Si le souci provient d'un dysfonctionnement d'un éventuel site de tutos en ligne... la question est à leur poser directement et n'a aucun rapport avec le langage de programmation PHP (unique thème de ce forum ).
MySTyQ
Messages postés
7
Date d'inscription
lundi 21 février 2011
Dernière intervention
23 novembre 2018
-
c'est un exercice en ligne et lorsque je valide ma réponse le site me dit qu'elle est incorrecte

voila les instructions je ne vois vraiment pas en quoi mon code ne répond pas a ce qui est demandé.
Commenter la réponse de jordane45