• Podmíněný příkaz if v PHP. PHP pokud-jinak. Podmínky v PHP PHP pokud jiné příklady

    pokud konstruovat

    Syntaxe konstrukce -li designově podobné -li v jazyce C:

    if (logický výraz) příkaz;
    ?>

    Podle PHP výrazů konstrukce -li obsahuje booleovský výraz. Pokud je booleovský výraz pravdivý ( skutečný), pak provozovatel sledující stavbu -li bude proveden, a pokud je logický výraz nepravdivý ( Nepravdivé), pak další -li operátor nebude proveden. Zde jsou nějaké příklady:

    if ($a > $b ) echo "hodnota a je větší než b";
    ?>

    V následujícím příkladu, pokud proměnná $a není null, vytiskne se řetězec „hodnota a je pravdivá (pravda)“:

    if ($a ) echo "hodnota a je pravdivá (pravda)";
    ?>

    Pokud je v následujícím příkladu proměnná $a nula, vytiskne se řetězec „hodnota a je nepravda“:

    pokud (!$a) echo "hodnota a je nepravdivá";
    ?>

    Často budete potřebovat blok příkazů, které budou provedeny za určitých podmíněných kritérií, pak je třeba tyto příkazy umístit do složených závorek {...} Příklad:

    if ($a > $b ) (
    echo "a je větší než b" ;
    $b = $a ;
    }
    ?>

    Výše uvedený příklad vytiskne zprávu „a je větší než b“, jestliže $a > $ b a pak proměnná $a se bude rovnat proměnné $ b. Všimněte si, že tyto příkazy jsou prováděny v -li.

    if (booleovský_výraz):
    příkazy;
    elseif(jiný_booleovský_výraz):
    další_příkazy;
    jiný:
    jinak_příkazy;
    endif

    Všimněte si umístění dvojtečky ( : )! Pokud jej přeskočíte, vygeneruje se chybová zpráva. A ještě něco: jako obvykle bloky jinakif A jiný lze snížit.

    elseif konstrukt

    jinakif je kombinací struktur -li A jiný. Tento konstrukt rozšiřuje podmíněný konstrukt pokud-jinak.

    Zde je syntaxe konstrukce jinakif:

    if (logický_výraz_1)
    operátor_1;
    elseif (logický_výraz_2)
    operátor_2;
    jiný
    operátor_3;

    Praktická ukázka použití konstruktu jinakif:

    if ($a > $b ) (
    echo "a je větší než b" ;
    ) elseif ($a == $b ) (
    echo "a rovná se b" ;
    ) jinak (
    echo "a je menší než b" ;
    }
    ?>


    Hlavní věcí v akci tohoto operátora je podmínka. přeloženo z angličtiny znamená Li. Podmínka se bere jako argument (cokoli je v závorkách). Podmínkou může být logický výraz nebo logická proměnná. Jednoduše řečeno, význam výrazu by byl:

    jestliže (podmínka)(
    podmínka splněna, učiňte tak
    }
    jiný
    {
    není splněna podmínka, udělejte jinak
    }
    Doufám, že logika podmíněné operace je jasná. Nyní se podívejme na příklad.

    $a = 5;
    $b = 25;

    // Teď pozor! Podmínka: Pokud je $b větší než $a
    // Znamení > a< , как и в математике, обозначают больше и меньше
    if($b > $a)
    {
    // pokud je podmínka splněna, proveďte tuto akci
    echo "$b je větší než $a";
    }
    jiný
    {
    // pokud ne, tak toto
    echo "$a je větší nebo rovno $b";
    }
    ?>
    Demonstrace Stáhněte si zdroje
    Výsledkem bude výstup skriptu 25 přes 5. Příklad je docela jednoduchý. Doufám, že je vše jasné. Nyní navrhuji uvažovat o složitější situaci, kdy musí být splněno několik podmínek. Každá nová podmínka bude obsahovat po hlavní podmínce li()- pomocný, který se píše jako jinak když(). Na závěr jako obvykle jiný.

    Úkol:Škola testuje. Skriptum potřebuje vypočítat skóre, znát podmínky pro získání každé známky a samotné skóre studenta. Pojďme se podívat, jak to napsat, a nezapomeňte si přečíst komentář.

    $test = 82; // řekněme, že student napsal test na 82 bodů

    // napište první podmínku pro pětku
    if($test > 90)
    {
    // pokud je podmínka splněna, proveďte tuto akci.
    echo "Skóre 5";
    }
    // Znak && znamená "a, spojení", že podmínka je splněna, pokud jsou obě pravdivé
    // to znamená, že skóre je menší než 91 a větší než 80, pak 4. Jinak se podmínky čtou dále
    jinak if ($test< 91 && $test > 80)
    {
    echo "Skóre 4";
    }
    jinak if ($test< 81 && $test > 70)
    {
    echo "Skóre 3";
    }
    jiný
    {
    echo "Měli bychom napsat test znovu...";
    }
    ?>
    Demonstrace Stáhněte si zdroje
    Dostává náš žák, který se zvládne jak uvolnit, tak napsat normální test hodnocení 4! A doufám, že princip fungování je jasný.

    Je také možné napsat krátký záznam o práci podmíněné operace, kdy akci potřebujete pouze při splnění podmínky.

    $věk = 19; // proměnné s věkem

    If ($věk > 17)(
    echo "To je ono! Můžu cokoliv! Už mám $věk!";
    }
    Docela pěkný příklad krátkého záznamu podmíněné operace. jiný psaní není nutné.

    Porovnání operátorů v PHP

    Princip fungování podmíněné operace je jasný. Ale jak jste pochopili, existuje mnohem více způsobů srovnání. Podívejme se na srovnávací tabulku níže.

    Příklad Název Výsledek
    $a == $b Rovná se True, pokud $a je rovno $b
    $a === $b Totožné s True, pokud $a je rovno $b a obě proměnné jsou stejného typu
    $a != $b Nerovná se Pravda, pokud $a není rovno $b
    $a === $b Není totožné True, pokud $a není rovno $b a oba typy nejsou stejné
    $a > $b Je větší než True, pokud $a je větší než $b
    $a< $b Меньше чем True, если $a меньше, чем $b
    $a >= $b Větší nebo rovno True, pokud $a je větší nebo rovno $b
    $a<= $b Меньше или равно True, если $a меньше или равно $b
    Nyní zvažte operátory podle příkladů:

    // v rozporu se zvykem = znamená přiřazení hodnoty proměnné a == jako rovno
    if ($a == 5)(
    echo "$a je 5"; // vypíše "5 se rovná 5"
    ) jinak (
    echo "$a se nerovná 5";
    }

    Pokud ($a != 6)(
    echo "$a se nerovná 6"; // vypíše "5 se nerovná 6". Vyžadováno v případě zamítnutí
    ) jinak (
    echo "$a je nějak rovno 6";
    }

    // s více a méně si myslím, že je vše jasné. Proto je příklad obtížnější
    pokud ($a<= 6){
    echo "$a je menší nebo rovno 6"; // vypíše "5 je menší nebo rovno 6"
    ) jinak (
    echo "$a je větší než 6";
    }

    PHP logické operátory

    Existují případy, kdy potřebujete porovnat ne jednu proměnnou, ale dvě nebo více najednou v jedné podmínce. Pro toto existují logické operátory.

    Příklad Název Výsledek
    $a a $b Booleovské "a" PRAVDA, pokud $a i $b jsou PRAVDA.
    $a nebo $b Booleovské "nebo" PRAVDA, pokud $a nebo $b je PRAVDA.
    $a xor $b Exkluzivní "nebo" TRUE, pokud $a, nebo $b TRUE, ale ne obojí.
    ! $a Neguje TRUE, pokud $a není TRUE.
    $a && $b Booleovské "a" PRAVDA, pokud $a i $b jsou PRAVDA.
    $a || $b Booleovské "nebo" PRAVDA, pokud $a nebo $b je PRAVDA.
    Už jsme to poznamenali u operací A A nebo existují další operátoři? To se provádí za účelem upřednostnění složitých srovnávacích operací. V tabulce jsou logické operátory seřazeny podle priority: od nejmenšího po největší, tedy například || má přednost před nebo.

    Pokračujme k příkladům

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

    // podmínka: Pokud 5 není rovno 6 (PRAVDA) A 6 se nerovná 7 (PRAVDA)
    pokud ($a< 6 && $b != $c){
    echo "Vážně!"; // vypíše "Opravdu tak!" protože OBĚ podmínky jsou PRAVDIVÉ
    ) jinak (
    echo "Jedna z podmínek není pravdivá";
    }

    // podmínka: Pokud 6 není rovno 6 (NOT) NEBO 6 se nerovná 7 (PRAVDA)
    if ($b != 6 || $b != $c)(
    echo "To je ono!"; // vypíše "To je ono!", protože alespoň JEDNA z podmínek je PRAVDA
    ) jinak (
    echo "Obě podmínky nejsou pravdivé";
    }

    Ternární operátor

    Navrhuji, abyste se k otázce ternárního kódu vrátili později. Nemohl jsem to vůbec nezmínit, protože jde o důležitou konstrukci, která výrazně zmenšuje velikost kódu. Navrhuji, abyste se podívali na kód.

    Podstata kódu:(podmínka)? hodnota a je-li pravdivá: hodnota a je-li nepravda

    Zkrátíme tedy příkaz if. Tato operace je však platná pouze s přiřazením proměnných. Nyní se podívejme na hotový příklad.

    // Příklad ternárního operátoru
    $settings = (prázdné($_POST["nastavení"])) ? "Výchozí" : $_POST["nastavení"];

    // Výše ​​uvedený kód je podobný následujícímu bloku pomocí if/else
    if (prázdné($_POST["nastavení"])) (
    $settings = "Výchozí"; // Pokud nic není předáno, ponechte "Výchozí"
    ) jinak (
    $nastavení = $_POST["nastavení"]; // Pokud je předáno, pak se $settings nastaví na předávanou hodnotu.
    }
    ?>
    Přečtěte si komentáře ke kódu a vše by mělo být jasné.

    Děkuji za pozornost!


    Stejně jako ostatní programovací jazyky má PHP příkazy select. Existují celkem tři typy:

    • podmíněný příkaz if... else ;
    • spínač ;
    • podmíněná operace (?);

    Stojí za zmínku, že v PHP neexistuje žádný bezpodmínečný skok na štítku goto, ale navzdory tomu je klíčové slovo goto vyhrazeno.

    V této lekci se podíváme na podmíněný příkaz if...else a podmíněné operace a další lekce se zaměří na přepínač .

    Syntaxe if...else je stejná jako v C:

    //pokud je uslovie pravda, tak jsme tady operátor1; //v případě jednoho operátora, operátor2; ...) jinak // volitelné {//pokud je uslovie nepravdivé, pak se dostaneme sem operátor3; //v případě jednoho operátora, operátor4; // složené závorky jsou volitelné ... } ?>

    Poznámky:

    • jinde - volitelná část, ale nejčastěji se používá, protože logika to vyžaduje.
    • Jak je uvedeno v komentářích ke kódu, složené závorky () nejsou vyžadovány, pokud máme pouze jeden příkaz. Protože podmínka může být pravdivá (1) nebo nepravda (0), provede se operátor1, operátor2 atd. nebo operátor3, operátor4 atd.

    Zde je konkrétní příklad v PHP:

    //Nastavení hodnot proměnných$číslo1 = 10; $num2 = 7; if ($num1 > $num2) ( //podmínka je pravdivá, takže se dostáváme sem echo "Podmínka je pravdivá, protože 10 > 7
    "; $num1+=$num2; // přidání proměnné $num2 do $num1; echo "\$num1 = ". $num1; // výsledek bude 17) else echo "Jelikož je stav pozitivní, nedostaneme se sem"; // V else je pouze jeden příkaz else, takže nejsou žádné složené závorky ?>

    Zde je příklad, kdy je konstrukce else vynechána a podmínka se skládá ze dvou podmínek:

    6) echo "Podmínky jsou pravdivé"; //Další příklad: if ($num1 == 10 || $num2 >= 100) echo "Podmínky jsou pravdivé"; //Podmínky jsou pravdivé ve všech případech ?>

    Podmínky vnořené if

    Stejně jako C, PHP umožňuje vnořené podmínky:

    //pokud jsou uslovie1 a uslovie2 pravdivé, přejděte sem) jinak ( //pokud je uslovie1 pravdivé a uslovie2 nepravdivé, pak jsme zde) jinak ( //pokud jsou uslovie1 a uslovie2 nepravdivé, přejděte sem } ?>

    Pokud chcete, můžete zapsat libovolný počet if nestings, ale takové konstrukce jsou velmi složité, takže při ladění programu bude docela obtížné jim porozumět. Zde je příklad s vnořenými příkazy if:

    // jako výsledek tohoto skriptu se zobrazí zpráva: // $flag1 je true a $flag2 je false ?>

    Vnořené podmínky s if...elseif...else

    V PHP je možné použít vnořené podmíněné příkazy se schématem: if...elseif...else . To je mnohem pohodlnější, než dělat zpočátku sadu podmínek a pak k nim spoustu dalších. Syntaxe konstrukce if...elseif...else je následující:

    V takové konstrukci lze else napsat pouze jednou, ale elseif tolik, kolik chcete. Rovněž se má za to, že výše uvedená konstrukce je horší než přepínač.

    Použití příkazu endif

    Téměř každý engine vytvořený v PHP používá příkaz endif. Struktura tohoto operátoru je uvedena níže:

    ... html značky a obsah; ... ... html značky a obsah; ...

    Stojí za to věnovat pozornost pohodlnosti této konstrukce, než kdybychom veškerý obsah vydávali přes echo . Nezapomeň za stav dát dvojtečku!

    Použití podmíněných operací (?)

    Používání podmíněných operací není běžný přístup nejen v PHP, ale ani v jiných podobných jazycích, ale neměli byste na ně zapomínat. Syntaxe podmíněné operace je následující:

    Nejdřív přijde nějaká podmínka. Pokud je to pravda, provede se příkaz_1, jinak příkaz_2. Myslím, že konstrukce není příliš jasná, takže stojí za to uvést pár příkladů PHP pro objasnění. Například pomocí podmíněné operace můžete snadno implementovat modul čísla:

    Podmíněné operace může být výhodné použít v některých krátkých výrazech, kde potřebujete změnit hodnotu pouze jedné proměnné podle toho, jakou podmínku.

    (PHP 4, PHP 5, PHP 7)

    jinakif, jak jeho název napovídá, je kombinací -li a jiný. Jako jiný, rozšiřuje an -li příkaz k provedení jiného příkazu v případě původního -li výraz se vyhodnotí na NEPRAVDIVÉ. Nicméně na rozdíl od jiný, provede tento alternativní výraz pouze v případě, že jinakif podmíněný výraz se vyhodnotí na SKUTEČNÝ. Například následující kód zobrazí a je větší než b , a rovno b nebo a je menší než b :

    if ($a > $b ) (
    echo "a je větší než b" ;
    ) elseif ($a == $b ) (
    echo "a se rovná b" ;
    ) jinak (
    echo "a je menší než b" ;
    }
    ?>

    Může jich být několik jinakif s uvnitř téhož -li prohlášení. První jinakif výraz (pokud existuje), který se vyhodnotí jako SKUTEČNÝ by byl popraven. V PHP můžete také napsat "else if" (dvěma slovy) a chování bude stejné jako "elseif" (jedno slovo). Syntaktický význam je mírně odlišný (pokud znáte C, jedná se o stejné chování), ale sečteno a podtrženo je, že oba by vedly k přesně stejnému chování.

    The jinakif příkaz se provede pouze v případě, že předchozí -li výraz a jakýkoli předchozí jinakif výrazy hodnoceny k NEPRAVDIVÉ a proud jinakif výraz hodnocen k SKUTEČNÝ.

    Poznámka: Všimněte si, že jinakif a jinak kdyby budou považovány za přesně stejné pouze při použití složených závorek jako ve výše uvedeném příkladu. Při použití dvojtečky k definování vašeho -li/jinakif podmínek, nesmíte oddělovat jinak kdyby do dvou slov, nebo PHP selže s chybou analýzy.

    /* Nesprávná metoda: */
    if ($a > $b):
    else if ($a == $b ): // Nezkompiluje se.
    echo "Výše uvedený řádek způsobuje chybu analýzy.";
    endif;

    /* Správná metoda: */
    if ($a > $b):
    echo $a . " je větší než " . $b ;
    elseif ($a == $b): // Všimněte si kombinace slov.
    echo $a . " rovná se " . $b ;
    jiný:
    echo $a . "není větší nebo rovno". $b ;
    endif;

    12.09.2017

    Ještě ne


    Ahoj všichni!
    Pokračujeme v učení základů PHP od nuly!
    V této lekci vám povím o jinak prohlášení o stavu. Doslovně přeloženo if znamená „pokud“ a jinde znamená „jinak“. Samotná konstrukce if else pomáhá zkontrolovat data a zobrazit výsledek (zobrazit zprávy, provést nějaký příkaz, přesměrovat uživatele na tajnou stránku nebo ho pustit do admin panelu). Abychom se naučili správně psát podmínky a porozumět konstruktu if else, uvedu příklad ze skutečného života, který je velmi podobný konstruktu if else.
    Dáte svému mozku příkaz: jakmile zazní budík (6:00), musím vstát, umýt se, vyčistit si zuby, obléknout se a cvalem do práce. Pokud budík v 6:00 nezazvoní, můžete spát, protože nemusíte běžet do práce.
    Všimli jste si konstrukce if else? Podmínkou bude nastavený čas buzení „6:00“. Pokud zazvoní budík, tak vstaneme a běžíme do práce, pokud nezazvoní (jinak se stále říká lži), spíme dál.
    Můžete přinést spoustu takových životních příkladů, například: když prší, tak sedím doma, když neprší, tak si vezmu míč a jdu hrát fotbal.
    Tak jak může napište konstrukci if else? Velmi jednoduché.
    Pojďme krok za krokem a začněme jednoduchou podmínkou – příkazem if.

    Pro lepší pochopení jsem znázornil diagram konstrukce if ve formě obrázku:

    Nyní se pokusme převést příklad ze skutečného života, na který jsem poukázal výše, do kódu php.

    Pokud uložíte soubor php s tímto kódem a otevřete jej přes místní server (viz ), výsledkem bude:

    ⇒ Vysvětlení kódu:
    V podmínce jsem porovnal proměnnou $počasí s hodnotou "déšť" (řádek #3). V lidské řeči zní tento kód takto: pokud se proměnná $počasí rovná hodnotě „déšť“, musíte zobrazit text „ sedím doma". Mimochodem, dovolte mi připomenout (pokud jste zapomněli), že rovnítko je označeno dvojitým rovnítkem, takto (==). Pokud do proměnné $počasí napíšete jinou hodnotu (řádek č. 2) , například sníh, pak prohlížeč vyprázdní stránku, protože nebyly splněny podmínky.

    → KÓD ŠABLONY "POKUD KONSTRUKCE":

    → Cheat sheet:

    Rovnost: ==
    Příklad: if ($a == $b)

    Nerovná se: !=
    Příklad: if ($a != $b)

    Více: >
    Příklad: if ($a > $b)

    Méně:<
    Příklad: if ($a< $b)

    Větší nebo rovno: >=
    Příklad: if ($a >= $b)

    Menší nebo rovno:<=
    Příklad: if ($a<= $b)

    Logické "a": a
    Příklad: if ($a ==$b a $c !=$d)

    Logické "nebo": nebo , ||
    Příklad: if ($a ==$b || $c !=$d)

    Nyní zkusme zobrazit hlášení, pokud nebyly splněny podmínky, a to, když prší, sedím doma, pokud neprší, vezmu míč a jdu hrát fotbal. Pro lepší pochopení se podívejme na obrázek níže:

    Nyní převedeme schéma do reálného kódu:

    Výsledek:

    Vezmu míč a jdu hrát fotbal

    ⇒ Vysvětlení kódu:
    V podmínce jsem porovnal proměnnou $počasí s hodnotou "déšť" (řádek č. 3), ale jelikož jsem proměnné $počasí přiřadil hodnotu "slunce" (řádek č. 2), podmínka splněna nebyla (hodnoty ​​není stejné), což znamená, že druhá část kódu (jiná) bude fungovat:

    Else ( echo "Vezmu míč a jdu hrát fotbal"; //výsledek, pokud podmínka není pravdivá)

    → KÓD ŠABLONY "IF-ELSE CONSTRUCTION":

    Dvojitá podmínka v opačném případě

    Přechod na složitější double if-other podmínka.
    Použijme příklad pro vytvoření hesla a kontrolu přihlášení.

    Cílová:
    Vytvořte podmínku ověření přihlášení a hesla. Pokud se heslo nebo uživatelské jméno neshoduje, zobrazí se chybová zpráva.

    Začněme.
    Nejprve vytvořte dvě proměnné $logo a $password s odpovídajícími hodnotami:

    Upozorňujeme, že v podmínce jsme obě proměnné oddělili operátorem "AND". To znamená, že dvě proměnné musí být správné, aby byla podmínka splněna, ale protože heslo (sink č. 4) v naší podmínce nesouhlasí, znamená to, že podmínka je nesprávná a na obrazovce uvidíte následující hlášení:

    Přihlašovací jméno nebo heslo není správné

    Pokud změníte hodnotu proměnné $password na "123" (řádek č. 3), budou podmínky plně splněny (řádek č. 4):

    Výsledek:

    vítejte v admin panelu

    Vnořené konstrukce if-else

    vnořená konstrukce- to je, když je uvnitř konstrukce další struktura. Není to příliš jasně vysvětleno? Nevadí, vše pochopíte na příkladu.

    Cílová:
    Vytvořte podmínku ověření přihlášení a hesla. Pokud se heslo nebo přihlašovací jméno neshoduje, zobrazte chybovou zprávu; pokud ano, zkontrolujte tajné slovo; pokud se tajné slovo neshoduje, zobrazte chybovou zprávu; pokud ano, zobrazte zprávu „ vítejte v admin panelu ".

    Začněme:

    Začněme vytvořením tří proměnných, $logo , $password a $x s jejich příslušnými hodnotami:

    Nyní vytvoříme dvojitou podmínku pro testování proměnných $logo a $password:

    Nyní pod komentářem // bude další podmínka s tajným slovem "(řádek číslo 7) napište ještě jeden if- else konstrukt s kontrolní podmínkou proměnné $x:

    Protože je tajné slovo nesprávné (řádek č. 8), na obrazovce se objeví následující zpráva:

    tajné slovo je špatné

    Pokud nahradíte hodnotu proměnné $x výrazem „BlogGOOD“, bude tajné slovo také pravdivé:

    Jelikož login a heslo jsou správné a to znamená, že podmínka byla splněna, fungovala první část kódu, kde bylo potřeba zkontrolovat tajné slovo. Protože je tajné slovo v souladu s podmínkou, zobrazí se na obrazovce zpráva:

    vítejte v admin panelu

    → KÓD ŠABLONY "VNOŘENÝ, pokud-jinak":

    prohlášení o podmínce elseif

    elseif konstrukt je kombinací konstrukcí if a else, které vám pomohou zkontrolovat několik podmínek za sebou.

    Syntax:

    Všimněte si, že v řádcích #6 a #10 jsou dvě slova záměrně napsána společně „elseif“, pokud je oddělíte mezerou „else if“, kód vygeneruje chybu.

    Dejme funkční kód s výběrem programovacího tutoriálu.

    Výsledek:

    Objednali jste si tutoriál PHP

    Metodu elseif lze také zapsat jako vnořeno, pokud jinak:

    Výsledek je stejný, ale je snazší se splést (ve vlastním kódu jsem se spletl dvakrát).

    Dodatek k lekci (přesto není nutné vědět):

    Existuje několik dalších možností, jak můžete napsat if else ( alternativní syntaxe).
    O alternativní syntaxi připravím celou lekci, kde vše vysvětlím a ukážu. Teď jen běžte očima.
    Kód #1:

    Proměnná "$a" obsahuje hodnotu 15

    Domácí práce:
    Zkuste místo rovnosti (== ) do podmínky vložit nerovnost (!= ) nebo zkuste s větším než menším znaménkem:

    a také nahradit operátor "AND" za "OR".

    Všichni, těším se na vás v dalších lekcích! Přihlaste se k odběru aktualizací blogu!

    Předchozí příspěvek
    Další příspěvek