Problème boucle while

Problème boucle while - PHP - Programmation

Marsh Posté le 07-01-2012 à 15:35:55    

Bonjour,
 
En retravaillant mes exercices pour un examen futur j'ai un petit problème et je sollicite votre aide,
Voici mon code :
 
<?php
$phrase='J\'adore manger des carottes';
$nombreE=0;
$i=0;
echo "Il y a " ,strlen($phrase), " caractères <br />";
$nl=strlen($phrase);
while ($i<$nl);
{
$car=substr($phrase,$i,1);
if ($car=='e')
{
$nombreE=$nombreE+1;
}
$i++
}
echo "Il y a " ,$nombreE, "fois le \"e\" <br />";
?>
 
Et comme erreur :
Parse error: syntax error, unexpected '}' in C:\Program Files (x86)\EasyPHP-5.3.8.0\www\Exercices\entrainement2.php on line 15
 
En quoi fermer ma balise while pose t'elle problème ?
 
Merci d'avance  :)

Reply

Marsh Posté le 07-01-2012 à 15:35:55   

Reply

Marsh Posté le 07-01-2012 à 15:56:13    

mets un point virgule après ton i++

Reply

Marsh Posté le 07-01-2012 à 16:04:31    

Fatal error: Maximum execution time of 30 seconds exceeded in C:\Program Files (x86)\EasyPHP-5.3.8.0\www\Exercices\entrainement3.php on line 7

Reply

Marsh Posté le 08-01-2012 à 13:56:32    

Quelque chose fait que ton while produit une boucle infinie, ou trop longue par rapport au nombre de secondes maximum d’exécution du script, tel que défini dans ton php.ini avec la directive max_execution_time.


---------------
Directeur Technique (CTO)
Reply

Marsh Posté le 09-01-2012 à 12:40:09    

"while ($i<$nl);" est une boucle infinie
equivalent a "while 1;"
 
il faut enlever le ; a la fin de cette ligne sinon il ne rentre pas dans les {}


---------------
[VDS] rail vesa, bras ecran, support TV / [ACH] des machins
Reply

Marsh Posté le 09-01-2012 à 16:42:12    

pour compléter ce que dis pop-pan, tu as deux syntaxes pour le while :
 
while(condition) {
// InstructionS
}
 
ou  
while(condition)
// 1 seule instruction
 
Ainsi, quand tu écris while ($i<$nl);  
il fait  
while($i<$nl)
;
 
(qui est équivalent à :
while($i<$nl) {
;
}
)
ce qui explique la boucle infinie et ce pourquoi il ne rentre pas dans la suite du code


---------------
http://nisalon.labrute.com/
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed