Un if dans un while
Fab121205
Messages postés
100
Statut
Membre
-
Fab1205 -
Fab1205 -
Bonjour,
je sais que mettre un if dans un while ne fonctionne pas mais je ne vois pas comment je pourrais faire pour contourner ce problème. J'aimerais écrire les mots du'une phrase que l'utilisateur écrit mais seulement ceux qui ont plus de 3 caractères. Mon code :
Merci Fab1205
je sais que mettre un if dans un while ne fonctionne pas mais je ne vois pas comment je pourrais faire pour contourner ce problème. J'aimerais écrire les mots du'une phrase que l'utilisateur écrit mais seulement ceux qui ont plus de 3 caractères. Mon code :
$phrase = $_POST['search'];
$mots = explode(" ", $phrase);
for($x = 0; $x < str_word_count($phrase); $x++)
{
if(strlen($mots[$x] > 3))
{
echo "<p> ".$mots[$x]."<br/></p>";
}
else
{
}
}
Merci Fab1205
3 réponses
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonsoir, je pense qu'un if fonctionne superbement dans un while ou un for. quel est ton soucis? -
Bonjour,
erreur de parenthèse...if(strlen($mots[$x] > 3))
A remplacer parif(strlen($mots[$x]) > 3)
-
-
Fais donc un print_r($mots); et montres nous ce que ça donne...
Et explique nous en détail ce qui, selon toi, ne fonctionne pas (le résultat obtenu vs le resultat attendu. )
Et file regarder ceci : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
(activation des erreurs php, récupération "propre" des variables AVANT de les utiliser, débugage de son code...etc... )
-
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
pourquoi pas:$phrase = $_POST['search']; foreach (explode(" ", $phrase) as $mot) { if(strlen($mot) > 3) { echo "<p> ".$mot."<br/></p>"; } }