ARCHIV |
|||||
Software (10844)
Distribuce (131)
Skripty (697)
Menu
Diskuze
Informace
|
PHP (11) - Operátory porovnání; priorita operátorůV dnešním díle našeho Mega-PHP seriálu se podíváme
na zbytek operátorů, o kterých ještě nebyla řeč. Zmíním se i o prioritě operátorů. Většinu operátorů, které budete při práci s PHP potřebovat,
jsme v tomto seriálu již probrali. Podívejme se teď na zbytek těch,
které by se nám při práci s PHP mohly hodit. Zatím jsme žili s PHP ve světě, v němž nebyla řeč o chybách. Chyby se ale v programování vyskytují a bude jim později věnován celý jeden článek seriálu. Nyní si uveďme, že PHP umí použít operátor zavináče před výrazem, což způsobí, že případná chyba při vyhodnocování tohoto výrazu bude neokázale ignorována. Příklad: <? Je to myslím dostatečně jasné. Jen dodejme, že zavináč nepatří před
příkaz echo, protože echo je jazykový konstrukt a ne výraz. Chyby se
ale vždy takto neřeší, je to jen jedna možnost. Více později. Operátory porovnáníJiná skupina operátorů, kterou jsme zatím vynechali, jsou porovnávací operátory. Protože fungují podobně jako v matematice, pojďme si nejprve ukázat příklad a pak probrat zvláštnosti: <? Tohle bylo snadné. Můžeme porovnávat proměnné pomocí rovnítka (=)? NE. V PHP, jak již bylo řečeno, slouží rovnítko k přiřazování, takže zápis $a=$b je sice možný, ale způsobí zkopírování "béčka" do "áčka" a ne jejich porovnání. Toto byste měli pochopit předtím, než začnete pracovat s porovnávacími operátory. Co například vrátí následující kód? <? Vrátí šestku! Řádek s echo bychom totiž měli číst odzadu. Nejprve se do proměnné $a přiřadilo to, co bylo v proměnné $b. Celé přiřazení je ovšem v PHP bráno jako výraz, takže má hodnotu pravé strany. Proto příkaz echo (který se provede až po přiřazení) vrátí hodnotu 6. Kdybychom chtěli proměnné porovnat, používá se na to operátor == (dvě rovnítka), jak je uvedeno níže: <? V PHP se můžete setkat ještě s operátorem === (tři rovnítka). Ten porovnává nejen hodnotu proměnné, ale i její typ. Říká se mu operátor identity a platí, že operace porovnání identity vrátí TRUE tehdy, když jsou si porovnávané výrazy rovny jak do hodnoty, tak do typu. Kraťounký příkad: <? Dodejme pro úplnost, že existuje i operátor pro neidentitu (!==),
který vrátí FALSE i v případě, že hodnoty výrazů rovnají, když se
zároveň jejich typy liší. Operace neidentity vrátí samozřejmě FALSE i v
případě, kdy se liší jak typy porovnávaných proměnných, tak i jejich
hodnoty. Ternární operátorNa tomto operátoru je zajímavé, že pracuje ne se dvěma, ale se třemi výrazy a od toho pochází i jeho název. Striktně řečeno patří k operátorům porovnání. Funguje tak, že vyhodnocuje jeden výraz. Když ten výraz platí, je výsledkem operace druhý výraz, když ne, výsledkem je třetí výraz. Podobá se to slovním vyjádřením typu: "Když bude na účtu víc než 10000 tak vyber 5000, ale jinak vyber jen 2000". V PHP bychom to zapsali takto (oba řádky fungují stejně, záleží ne Vašem vkusu): <? Ternární operátor patří k těm prvkům jazyka PHP, které si buď
oblíbíte nebo se jim budete vyhýbat, ale většinou budete mít na ně
vyhraněný názor. Je pravda, že bez ternárního operátoru se můžete
obejít; ale zápis s jeho použitím bývá kratší. Priorita operátorůOperátory v PHP mají svou prioritu, takže kód se vždy nevykonává tupě zleva doprava. Například kód <?echo 2+3*4?> vrátí matematicky správných 14 a nikoli 20, protože PHP ví, že násobení má přednost před sčítáním. Pokud budeme chtít vestavěnou prioritu vyhodnocování výrazu změnit, použijeme závorky jako v matematice. Závorky mohou být vnořené, v takovém případě se výraz vyhodnocuje od nejvnitřnějších závorek. K tomu zase kratičký kód: <?echo ((2+3)*4)/8?> Protože prioritu operátorů někteří nenosí v hlavě, není žádná ostuda
"uzávorkovat" výraz i v případě, že by se stejně vyhodnocoval i se
závorkami. Někdy to vede k tomu, že je kód čitelnější. Poznámky k článku
Související články
Předchozí Celou kategorii (seriál) Další
PHP (1) - Historie a budoucnost
PHP (2) - Jak to funguje PHP (3) - Instalace PHP (4) - Základy syntaxe PHP (5) - Příkaz Echo; formátování kódu PHP (6) - Typy proměnných PHP (7) - Pole PHP (8) - Výrazy, konstanty, inkrementace PHP (9) - Přetypování proměnných PHP (10) - Logické výrazy a operátory PHP (12) - Podmínky PHP (13) - Příkazy cyklu PHP (14) - Cyklus for PHP (15) - Funkce PHP (16) - Vyrobme si kalendář PHP (17) - Dokončujeme kalendář PHP (18) - Funkce pro práci s poli PHP (19) - Objekty PHP (20) - Objekty podruhé PHP (21) - Vkládání souborů PHP (22) - Regulární výrazy PHP (23) - Neztraťte se ve funkcích PHP (24) - Pracujeme s formuláři PHP (25) - Formuláře - nikomu nevěřte PHP (26) - Formuláře na sto způsobů PHP (27) - Příklady na formuláře PHP (28) - Chybovati je lidské PHP (29) - Soubory a adresáře PHP (30) - Počitadlo pomocí souborů PHP (31) - Upload a download souborů PHP (32) - Příklad na BLOG PHP (33) - HTTP hlavičky PHP (34) - Úvod do databází PHP (35) - Uložení dat v databázi PHP (36) - Připojujeme se k MySQL PHP (37) - Tvorba tabulek v MySQL PHP (38) - Dolujeme data z MySQL PHP (39) - Zobrazujeme a stránkujeme data PHP (40) - PHP a vkládání záznamů do databází PHP (41) - Měníme data v databázích PHP (42) - Odstraňujeme databázová data PHP (43) - MySQL rychleji a rychleji PHP (44) - MySQL ještě rychleji PHP (45) - Jsou data v databázi v bezpečí? PHP (46) - Importujeme data do databáze PHP (47) - Exportujeme data PHP (48) - Práce s binárními daty (BLOB) PHP (49) - Kam kráčíš, MySQL? PHP (50) - Ověřování uživatelů PHP (51) - Přenos dat mezi stránkami PHP (52) - Cookies PHP (53) - Sessions PHP (54) - Dodržování webových standardů PHP (55) - Odesílání e-mailů PHP (56) - Tisk a PDF PHP (57) - XML PHP (58) - XML lépe a radostněji PHP (59) - zapisujeme XML PHP (60) - Rozsáhlejší projekty 1. PHP (61) - Rozsáhlejší projekty 2. PHP (62) - Rozsáhlejší projekty 3. PHP (63) - Rozsáhlejší projekty 4. PHP (64) - Ladění kódu PHP (65) - Ladění kódu 2. PHP (66) - PHP debugger PHP (67) - Zdroje informací o PHP PHP (68) - Stavíme portál PHP (69) - Stavíme portál 2. PHP (70) - Registrace uživatelů na portálu PHP (71) - Přihlašování uživatelů na portál PHP (72) - Hrátky s uživateli PHP (73) - Frontend a backend PHP (74) - Administrátorské rozhraní portálu PHP (75) - Pokračujeme na portále PHP (76) - Zobrazujeme data na portále PHP (77) - Portál, databáze a relace PHP (78) - Informační obsah portálu PHP (79) - Triky s formuláři a ergonomie webu PHP (80) - Administrace diskografie hudebního portálu PHP (81) - Uživatel versus programátor PHP (82) - zabezpečení vstupů formulářů PHP (83) - Ukládání textů písní na hudebním portále PHP (84) - Ještě k registraci PHP (85) - ukládání souborů do databáze na portálu PHP (86) - zobrazení dat a stahování soborů pro registrované PHP (87) - finišujeme portál PHP (88) - provoz ve Windows PHP (89) - cesta do hlubin php.ini PHP (90) - Poťouchlé konfigurační volby PHP (91) - php.ini potřetí a naposledy PHP (92) - funkce pro interakci s operačním systémem PHP (93) - příkazový řádek PHP (94) - GUI PHP (95) - GUI podruhé PHP (96) - (ne)bezpečné PHP PHP (97) - bezpečnost ještě jednou PHP (98) - PHP 5. PHP (99) - Budoucnost PHP PHP (100) - Závěr PHP (101) - Apríl: Příklady z praxe php rewrite Byte order mark a PHP Předchozí Celou kategorii (seriál) Další Ke stažení jako HTML nebo jako PDF.
|
Vyhledávání software
Vyhledávání článků
28.11.2018 23:56 /František Kučera 12.11.2018 21:28 /Redakce Linuxsoft.cz 6.11.2018 2:04 /František Kučera 4.10.2018 21:30 /Ondřej Čečák 18.9.2018 23:30 /František Kučera 9.9.2018 14:15 /Redakce Linuxsoft.cz 12.8.2018 16:58 /František Kučera 16.7.2018 1:05 /František Kučera
Poslední diskuze
31.7.2023 14:13 /
Linda Graham 30.11.2022 9:32 /
Kyle McDermott 13.12.2018 10:57 /
Jan Mareš 2.12.2018 23:56 /
František Kučera 5.10.2018 17:12 /
Jakub Kuljovsky | |||
ISSN 1801-3805 | Provozovatel: Pavel Kysilka, IČ: 72868490 (2003-2024) | mail at linuxsoft dot cz | Design: www.megadesign.cz | Textová verze |