Instruction if conditionnelle en PHP. Conditions (if) en PHP : forme courte


L'essentiel est d'agir données de l'opérateur- cette condition. si traduit de l'anglais signifie Si. La condition est acceptée comme argument (ce qui est entre parenthèses). La condition peut être une expression logique ou une variable logique. Pour faire simple, le sens de l’expression sera celui-ci :

Si (condition)(
la condition est remplie, fais ceci
}
autre
{
la condition n'est pas remplie, faites-le différemment
}
J'espère que la logique de l'opération conditionnelle est claire. Regardons maintenant un exemple.

$une = 5 ;
$b = 25 ;

// Maintenant attention ! Condition : Si $b est supérieur à $a
// Signes > et< , как и в математике, обозначают больше и меньше
si($b > $a)
{
// si la condition est remplie, alors effectuez cette action
echo "$b est supérieur à $a" ;
}
autre
{
// s'il n'est pas exécuté, alors ceci
echo "$a est supérieur ou égal à $b";
}
?>
Manifestation Télécharger les sources
En conséquence, le script affichera 25 plus que 5. L'exemple est assez simple. J'espère que tout est clair. Je propose maintenant d'envisager une situation plus compliquée, où plusieurs conditions doivent être remplies. Chaque nouvelle condition contiendra après la condition principale si()- auxiliaire, qui s'écrit sinon si(). Au final ce sera comme d'habitude autre.

Tâche: Les tests sont effectués à l'école. Le script doit calculer le score, en connaissant les conditions d’obtention de chaque note et le score de l’élève lui-même. Voyons comment écrire ceci, et n'oubliez pas de lire le commentaire.

$test = 82 ; // disons qu'un étudiant a passé un test avec 82 points

// écris la première condition pour cinq
si($test > 90)
{
// si la condition est remplie, alors effectuez cette action.
echo "Note 5" ;
}
// Le signe && signifie "et, union", que la condition est remplie si les deux sont vraies
// c'est-à-dire que le score est inférieur à 91 et supérieur à 80, puis 4. Sinon, les conditions sont lues plus loin
sinon si ($test< 91 && $test > 80)
{
echo "Note 4" ;
}
sinon si ($test< 81 && $test > 70)
{
echo "Note 3" ;
}
autre
{
echo "Nous devrions réécrire le test...";
}
?>
Manifestation Télécharger les sources
Notre étudiant qui a le temps de se reposer et de passer un test normal reçoit note 4! J'espère que le principe de fonctionnement est clair.

Il est également possible d'enregistrer brièvement le fonctionnement d'une opération conditionnelle, lorsque vous avez besoin d'une action uniquement si la condition est remplie.

$âge = 19 ; // variable avec l'âge

Si ($âge > 17)(
echo "Ça y est ! Je peux faire ce que je veux ! J'ai déjà $age !";
}
Un très bel exemple de notation courte d'une opération conditionnelle. autre il n'est pas nécessaire d'écrire.

Opérateurs de comparaison en PHP

Le principe de fonctionnement d'une opération conditionnelle est clair. Mais comme vous le comprenez, il existe de nombreuses autres façons de comparer. Regardons le tableau ci-dessous avec les opérateurs de comparaison.

Exemple de nom Résultat
$a == $b est égal à True si $a est égal à $b
$a === $b Identique à True si $a est égal à $b et que les deux variables sont du même type
$a != $b Différent de True si $a n'est pas égal à $b
$a === $b Non identique à True si $a n'est pas égal à $b et que les deux types ne sont pas identiques
$a > $b Supérieur à Vrai si $a est supérieur à $b
$un< $b Меньше чем True, если $a меньше, чем $b
$a >= $b Supérieur ou égal à True si $a est supérieur ou égal à $b
$un<= $b Меньше или равно True, если $a меньше или равно $b
Regardons maintenant les opérateurs avec des exemples:

// contrairement à l'habitude = signifie attribuer une valeur à une variable, et == est égal
si ($a == 5)(
echo "$a vaut 5" ; // affichera "5 est égal à 5"
) autre (
echo "$a n'est pas égal à 5";
}

Si ($a != 6)(
echo "$a n'est pas égal à 6"; // affichera "5 n'est pas égal à 6". Nécessaire en cas de refus
) autre (
echo "$a est en quelque sorte égal à 6" ;
}

// avec plus et moins je pense que tout est clair. L'exemple est donc plus compliqué
si ($a<= 6){
echo "$a est inférieur ou égal à 6"; // affichera "5 est inférieur ou égal à 6"
) autre (
echo "$a est supérieur à 6" ;
}

Opérateurs logiques PHP

Il y a des moments où vous devez comparer non pas une variable, mais deux ou plusieurs à la fois dans une même condition. Pour cela il y a Opérateurs logiques.

Exemple de nom Résultat
$a et $b Logique "et" VRAI si $a et $b sont tous deux VRAI.
$a ou $b Logique "ou" VRAI si $a ou $b est VRAI.
$a xor $b "ou" VRAI exclusif si $a ou $b est VRAI, mais pas les deux.
! $a Négation de VRAI si $a n'est pas VRAI.
$a && $b Logique "et" VRAI si $a et $b sont VRAIS.
$une || $b Booléen "ou" VRAI si $a ou $b est VRAI.
Nous avons déjà remarqué que pour les opérations Et Et ou y a-t-il des opérateurs supplémentaires ? Ceci est fait afin de prioriser les opérations de comparaison complexes. Dans le tableau, les opérateurs logiques sont classés par ordre de priorité : du plus petit au plus grand, c'est-à-dire par exemple || a une priorité plus élevée que ou.

Allons-nous en aux exemples

$une = 5 ;
$b = 6 ;
$c = 7 ;

// condition : Si 5 n'est pas égal à 6 (VRAI) ET 6 n'est pas égal à 7 (VRAI)
si ($a< 6 && $b != $c){
echo "En effet !"; // affichera "En effet!" parce que LES DEUX conditions sont VRAIES
) autre (
echo "L'une des conditions n'est pas vraie" ;
}

// condition : Si 6 n'est pas égal à 6 (FAUX) OU 6 n'est pas égal à 7 (VRAI)
si ($b != 6 || $b != $c)(
echo "C'est ça !"; // affichera "C'est ça !", car au moins UNE des conditions est VRAIE
) autre (
echo "Les deux conditions sont fausses" ;
}

Opérateur ternaire

Je vous suggère de revenir plus tard sur la question du code ternaire. Je n’ai pas pu m’empêcher de le mentionner, car il s’agit d’une conception importante qui réduit considérablement la taille du code. Je vous suggère de regarder le code tout de suite.

L'essentiel du code :(condition) ? la valeur de a si vrai : la valeur de a si faux

Ainsi, nous raccourcissons l’instruction if. Cependant, cette opération n'est valable que lors de l'attribution de valeurs à une variable. Regardons maintenant un exemple terminé.

// Exemple d'utilisation de l'opérateur ternaire
$settings = (vide($_POST["settings"])) ? "Par défaut" : $_POST["paramètres"];

// Le code ci-dessus est similaire au bloc suivant utilisant if/else
if (vide($_POST["settings"])) (
$settings = "Par défaut" ; // Si rien n'est transféré, laissez-le comme "Par défaut"
) autre (
$paramètres = $_POST["paramètres"]; // S'il est transmis, alors $settings se voit attribuer la valeur transmise.
}
?>
Lisez les commentaires sur le code et tout devrait être clair.

Merci pour votre attention!


Dans cet article, nous examinerons de plus près l'utilisation en PHP Opérateurs logiques, si construit et parle de de diverses façons ses notes. Voyons d’abord comment utiliser la construction if si vous avez plusieurs conditions.

La construction if peut être imbriquée :

0) si($nombre< 20) echo "Число больше нуля, но меньше двадцати!"; ?>

Ce code affichera le résultat uniquement si chacune des conditions des deux constructions est remplie. Il existe une autre façon d'écrire ceci :

0) et ($nombre< 20)) echo " Число больше нуля, но меньше двадцати!"; ?>

La manière d'écrire l'instruction de boucle PHP à utiliser dépend de la situation et de vos préférences personnelles. Dans l’article précédent, nous avons examiné les règles d’utilisation de la construction else. Il existe une autre construction spéciale en PHP – else if .

Il contient des constructions if et else et peut être utilisé comme suit :

20) echo "Le nombre est supérieur à vingt !"; elseif($number > 10) echo "Le nombre est supérieur à dix !"; else echo "Ce nombre semble trop faible..." ?>

Cette construction d'opérateur de boucle PHP n'implémente rien de nouveau autre qu'une syntaxe différente. De la même manière, vous pouvez utiliser la construction else, suivie d'une autre construction if.

Lors du développement en PHP, dans des constructions comme if ou while, en plus des blocs de code standard inclus dans croisillons, vous pouvez utiliser une syntaxe alternative. Il n'est pas particulièrement populaire, mais nous vous recommandons de vous familiariser avec :

Si vous préférez cette option, n'hésitez pas à l'utiliser. Il n'y a pas de différence fondamentale.

Opérateur ternaire

Il y a des moments où l'utilisation d'une construction full if est redondante. Par exemple, nous devons remplacer le mot requis dans la valeur de sortie d'une variable selon que l'utilisateur a ajouté ou non des articles au panier :

0) $output .= "il y a des marchandises" ; sinon $output .= "aucun produit" ; $sortie .= "!"; écho $sortie ; ?>

En utilisant l'opérateur ternaire de PHP, nous pouvons raccourcir cette notation :

0) ? "il y a des marchandises" : "il n'y a pas de marchandises") . "!"; écho $sortie ; ?>

Cette notation réduit considérablement le nombre de lignes de code. L'opérateur ternaire PHP est une version abrégée des constructions if et else, écrite sur une seule ligne. La condition spécifiée après les deux parenthèses est analogue à if . Après cela, un point d'interrogation est placé, suivi de la condition suivante : la structure satisfait-elle à la condition VRAIE.

Ensuite, deux points sont placés, suivis de la condition suivante : la construction satisfait-elle à la condition FAUX. Puisque toutes ces conditions sont écrites sur la même ligne avec l’opérateur d’affectation, nous mettons deux parenthèses pour indiquer à PHP que la ligne contient une condition.

C'est juste Option alternative enregistrements, utilisez-le à votre propre discrétion.

La traduction de l'article « Plus de déclarations si » a été préparée par l'équipe sympathique du projet.

Bon mauvais

Les conditions occupent une part importante des algorithmes. PHP est un langage de programmation progressif dont les développeurs proposent aux programmeurs meilleures formes pour enregistrer la syntaxe. La forme ternaire de l'instruction if est facile à utiliser et rend le code du script plus clair.

PHP (en bref) n'a pas reçu autant de reconnaissance qu'il est devenu l'ancêtre des constructions conditionnelles originales. De nombreux programmeurs considèrent qu'il est de leur devoir d'exprimer leur propre style en « fabriquant » des formes originales d'expression des conditions.

Forme générale de l'instruction conditionnelle

Les conditions sont la construction syntaxique la plus ancienne. Avec l'opérateur d'affectation, l'opérateur action simple, les termes ont parcouru un long chemin dans le développement de la programmation en général.

Avant l'apparition du « frère » cadet de l'opérateur de commutation/boîtier, beaucoup d'eau avait coulé sous les ponts ; des programmeurs dans diverses langues créaient des constructions encombrantes à partir d'instructions if multilignes.

Au moment où PHP est apparu, les programmeurs avaient acquis de l'expérience dans la création de conditions correctes. L'idée de PHP, un langage serveur, qui par définition est destiné à être compact et rapide, a rapidement abouti à une syntaxe optimale et à des formes d'expression de sens pratiques pour la perception et la compréhension.

PHP, tant sous sa forme courte que sous sa forme complète, est tout aussi pratique et confortable à percevoir dans le texte du code du script.

Dans l'exemple montré sur la photo (1) - données initiales, (2) - formulaire complet opérateur conditionnel. La condition est écrite entre parenthèses et peut être aussi longue que souhaité. Le bloc d'instructions dans les premières accolades est exécuté si la condition est vraie. Le bloc entre accolades après le mot « else » sera exécuté si la condition est fausse.

Peut être utilisé forme simple(3) lorsque les deux paires de parenthèses sont omises. Mais le programmeur doit comprendre toute l’étendue de sa responsabilité. Écrire des accolades ne coûte pas cher, mais cela garantit que le contrôle ne devient pas incontrôlable, quelles que soient les conditions.

Forme ternaire de l'opérateur conditionnel

L'exemple (4) montre l'application la plus populaire état simple. Le raccourci PHP pour if est un complément parfait à la fonction isset(). Il est très pratique de vérifier la réception des données via GET (ou POST), et si la valeur attendue est manquante, définissez la variable sur la valeur par défaut.

N'oubliez pas de limiter les conditions entre parenthèses. Il faut savoir que l’opérateur ternaire s’implante facilement dans les expressions. Il faut comprendre que le résultat de l'instruction PHP if dans la notation courte « sur un pied d'égalité » participe à l'expression. Si une expression contient divers opérateurs mathématiques ou de chaîne, alors le résultat du ternaire « si » est un opérande égal de l'expression.

Des conditions sans ambiguïté sont la clé du succès

Tout opérateur de la programmation impérative moderne ne peut être omis. Tout est exécuté exactement et uniquement comme prévu par le programmeur. En PHP, if (forme courte et forme longue) a le même niveau de responsabilité.

L’option ternaire est le résultat. La forme complète est la redirection de contrôle. Dans le premier cas, une erreur d’application entraînera des erreurs dans les données. Dans le second cas, le contrôle sera transféré dans la mauvaise direction.

En cas de doute, vous ne devez pas utiliser les conditions PHP dans une entrée courte. If () () else () peut être plus clair et plus pratique. Règle générale, garantissant un résultat stable : s'il y a un doute, privez-le de son fondement. Qu’il y ait d’abord une solution vaste, mais extrêmement claire.

Lorsque l'éventail des conditions devient évident et clairement compréhensible, vous pouvez implémenter if en PHP dans une notation courte.