Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1098 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [RESOLU] syntaxe php

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[RESOLU] syntaxe php

n°1662068
wrksx
Posté le 21-12-2007 à 18:20:56  profilanswer
 

Bonjour,
 
dans le code suivant, je n'arrive pas a comprendre quelle condition est réellement testée par le "while"...
 
====
code php
====
$sql = "SELECT id as userid, fullname, userstatus  
FROM   sometable
WHERE  userstatus = 1";
 
$result = mysql_query($sql);
 
while ($row = mysql_fetch_assoc($result)) {
   echo $row["userid"];
   echo $row["fullname"];
   echo $row["userstatus"];
}
====
fin du code
====
est-ce quela condition est respéctée uniquement si $row contient autre chose que "false" ?
Le code viens de http://www.manuelphp.com , je n'ai pas pris la peine de le commenter, si ca vous choque dites-le moi.
 
merci d'avance...


Message édité par wrksx le 21-12-2007 à 18:50:28
mood
Publicité
Posté le 21-12-2007 à 18:20:56  profilanswer
 

n°1662076
omega2
Posté le 21-12-2007 à 18:30:06  profilanswer
 

"while" utilisé de cette manière là teste la nouvelle valeur de la variable situé à gauche du "=" ("$row" dans le cas présent).
 
Tant qu'il y a des données à lire dans le résultat de la requête, "mysql_fetch_assoc" retourne un tableau. "$row" contient donc un tableau ce qui est compris comme un "TRUE" (vrai) par le "while" et il fait un tour de plus.
Quand il ne reste plus rien à lire, "mysql_fetch_assoc" retourne le booléen "FALSE". "$row" contient alors cette valeur ce qui fait que le "while" arrête de boucler et on passe à la suite du code (la fin du code dans le cas présent).
 
PS : C'est la même chose avec les autres boucles, les "if", ...


Message édité par omega2 le 21-12-2007 à 18:31:18
n°1662079
wrksx
Posté le 21-12-2007 à 18:39:43  profilanswer
 

donc dans tout les cas, "while ($a);" verifie si $a est egal à "true" ?

 

quel procédé permet de faire en sorte que le tableau renvoi true au lieu des données qu'il contient ?

 

Est-ce dependant de la fonction qui recoit les valeurs ou est ce qu'une règle generale se degage de ca ?

 

ps: merci de ta reponse rapide =))


Message édité par wrksx le 21-12-2007 à 18:40:41
n°1662081
omega2
Posté le 21-12-2007 à 18:46:12  profilanswer
 

C'est une règle générale qui est expliqué dans la doc de php : http://www.php.net/manual/fr/langu [...] an.casting
 
A noter que même si un tableau vide et un objet vide sont traduit comme "FALSE" quand on les transforme (explicitement ou implicitement) en booléen, ils ne sont pas égaux si on les compare l'un à l'autre (je ne sais plus lequel est supérieur à l'autre) C'est une autre règle de php qui est expliqué, de mémoire, ailleurs dans la documentation.

n°1662085
wrksx
Posté le 21-12-2007 à 18:50:04  profilanswer
 

milles merci.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [RESOLU] syntaxe php

 

Sujets relatifs
[RESOLU] [Delphi] Syntaxe de "uses"[résolu] Ajax et erreur de syntaxe
[Résolu] Problème de syntaxe avec un define[Résolu] Erreur de syntaxe, qui peut m'aider ?
[ASP.NET][Resolu] Erreur de syntaxe sur un INSERT INTO[Résolu] probleme de syntaxe *&
[resolu] problème requete erreur de syntaxe du a des quotes...[Resolu] Plusieurs requetes MySQL > Syntaxe PHP ?
[Résolu]Syntaxe Range avec variable[résolu] Erreur de syntaxe
Plus de sujets relatifs à : [RESOLU] syntaxe php


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR