Tandis que les Boucles et les Conditions Multiples
Est-il possible d'écrire plusieurs conditions dans une boucle while? Si non, quelle est l'alternative? Je l'ai essayé et a été retourné avec une erreur relative de la ligne de code qui définit les conditions de la boucle while. Voici un exemple de ce que je veux dire.
$s = 1;
while ($result_row = mysql_fetch_assoc($query) && $s < 5)
{
echo $result_row['id'];
$s++;
}
Sûr que c'est possible. Avez-vous l'essayer? L'ensemble de la
Votre logique est correcte. Exactement ce que fait l'erreur de dire?
Absolument, il est possible, tout comme toute autre structure de contrôle. Il vient d'évaluer à true ou false.
Le texte de l'erreur de vous dire quel était le problème. Quelle est l'erreur?
while
condition, toutefois, de nombreux composants qu'elle pourrait avoir, doit avoir la valeur TRUE ou FALSE. C'est la seule condition. Soyez prudent lorsque vous faites une affectation dans une instruction composée comme ça... $result_row
ne pouvez pas obtenir ce que vous attendez grâce à la priorité des opérateurs.Votre logique est correcte. Exactement ce que fait l'erreur de dire?
Absolument, il est possible, tout comme toute autre structure de contrôle. Il vient d'évaluer à true ou false.
Le texte de l'erreur de vous dire quel était le problème. Quelle est l'erreur?
OriginalL'auteur jason328 | 2012-08-15
Vous devez vous connecter pour publier un commentaire.
C'est possible, mais parce
=
a bas la préséance que&&
vous avez besoin de parenthèses pour s'assurer que votre déclaration est interprétée correctement:Les parenthèses autour de
$s < 5
ne sont pas nécessaires ici, mais j'ai inclus pour plus de clarté.Cependant, il serait plus facile de modifier votre requête pour retourner uniquement les 5 lignes, en ajoutant
LIMIT 5
.Liés priorité ne nécessite pas la deuxième intérieure paire de crochets ici, il semble donc un peu trompeur de suggérer de les mettre là. Cependant, elles ne font pas mal.
OriginalL'auteur Mark Byers
Vous pourriez essayer:
http://php.net/manual/en/control-structures.break.php
OriginalL'auteur JoeTomato
alors que je ne vois rien de mal à cela. l'inverse est de faire quelque chose comme ça.
OriginalL'auteur Ibrahim Azhar Armar
La valeur de
$result_row
est sans doute d'être mis à la condition Booléenne de savoir simysql_fetch_assoc($query)
renvoie quelque chose de vrai-ish et$s
est inférieur à 5. Afin d'essayer de lire$result_row
qu'un dictionnaire ne fonctionne plus.Vous pouvez utiliser des parenthèses pour préciser exactement comment les choses se analysée:
De cette façon,
$result_row
obtient mis àmysql_fetch_assoc($query)
, qui est ce que vous voulez, et la boucle continue tant que la valeur logique de cette mission renvoie quelque chose de vrai-ish, ainsi ques
est inférieur à 5.OriginalL'auteur Mike Christensen