Podmínky v PHP (3.díl/2.série)

Ahoj,

v minulém díle jsme si řekli něco o operátorech v PHP. V díle ještě před ním jsme se podívali na zub Superglobálním proměnným v PHP. Nyní si troufám říci, že jsme již plně „vyzbrojeni“ na pochopení podmínek v PHP.

Jelikož jsou podmínky velice rozsáhlé téma (toto je už 3. díl ze 2. série), budou následovat ještě alespoň dva další díly. V tomto díle Vás seznámím hlavně s nutnými základy podmínek a jejich fungováním. Abyste pochopili, jak se s nimi pracuje, na jakém principu fungují a hlavně – jak je můžete využít a k čemu jsou dobré v praxi.

Kapitoly:

 

Fungování podmínky (teorie)

Základním stavebním kamenem celé podmínky je nějaký již předem daný postup, jak ji poskládat. Každý postup se dá různě vylepšovat, nebo usnadnit. Je možné, že v praxi se setkáte s různými způsoby jak zapsat podmínku. Vždy ale různé zápisy se stejným cílem fungují stejně. Lze zapsat o pět znaků méně a bude to fungovat úplně stejně, jako kdybych jich napsal o pět více.

Nemůžu říct, které postupy jsou správné a které ne. Jak již jsem řekl, všechny fungují (pokud teda neobsahují chybu). Postup (a logika), kterým fungují podmínky je zhruba tento:

  1. Řeknu, že tohle je podmínka
  2. Následně si vyberu způsob, kterým chci vytvořit podmínku – vyberu si operátor
  3. Poté pomocí operátorů porovnám hodnoty
  4. Pokud souhlasí podle operátoru, tak
    1. Provedu jednu akci
    2. Jinak provedu tu druhou
  5. A podmínku nakonec ukončím

Toto byl opravdu velice letmý náčrt toho, jak podmínka může fungovat.

 

První ukázka jednoduché podmínky

Dejme tomu, že chceme sestavit tuto podmínku:

  • Pokud je obsah proměnné $prvni stejný jako obsah proměnné $druha
  • Tak vypiš text „Je to stejné“
  • Pokud není, tak vypiš text „Není to stejné“

A co budeme muset udělat?

  • Vytvořit proměnnou $prvni a definovat její obsah
  • Vytvořit proměnnou $druha a taktéž definovat její obsah
  • Vytvořit podmínku, že pokud jsou obě proměnné stejné tak (…), jinak (…)

Jdeme tedy na to! Založme si nejdříve nový PHP dokument nazvěme ho podminka1.php (název je na Vás). Na jeho začátku definujme dvě základní proměnné $prvni a $druha:

<?php  
  $prvni = "ahoj";  
  $druha = "ahoj";

Definovali jsme oběma proměnným stejný obsah – slovo ahoj. To znamená, že až budeme stavět podmínku, logicky se nám vypíše text „Je to stejné“.

Dále vytvořme začátek podmínky:

if($prvni == $druha)

Teď jsme vytvořili podmínku, ve které porovnáváme dvě proměnné, že

  • pokud je obsah $prvni
  • stejný (to stejný značí v podmínce dvě rovnítka – více v článku Operátory) jako
  • obsah $druha

Ale neznáme pokračování, co má PHP skript udělat, pokud obsah těchto proměnných bude stejný, nebo nebude? Co potom? Ještě upravím ten řádek se začátkem podmínky, pomocí složené závorky { otevřu podmínku:

if($prvni == $druha){

Nyní už se podíváme na to, co udělat v případě shody a co v případě neshody:

if($prvni == $druha){   
  echo "Je to stejné"; 
} else {  
   echo "Není to stejné"; }

Toto už je plně funkční podmínka. Hned na druhý řádek jsme vložili echo, to se nám vypíše v případě shody. Následně přidáme na konec středník a ještě složenou závorku (tentokrát na druhou stranu) }.

Potom napíšeme else, tohle slovíčko nám totiž v podmínce značí v češtině slovní spojení v opačném případě. A přidáme složenou závorku {. Takže v opačném případě (pokud se obsahy proměnných $prvni a $druha nerovnají – nejsou stejné) vypiš pomocí echo text „Není to stejné“. Poté zase ukončíme řádek středníkem a na nový řádek přidáme složenou závorku na druhou stranu }.

Celkový kód bude vypadat takto (vyzkoušejte si):

<?php   
  $prvni = "ahoj";  
  $druha = "ahoj";  
  if($prvni == $druha){ 
    echo "Je to stejné"; 
  } else {  
    echo "Není to stejné";
  }  
?>

Co když obsah není stejný?

Pakliže bychom změnili obsah jedné z proměnných (slovo ahoj), tak už se nám nemůže vypsat text, že je to stejné. Není to stejné. Jakmile je jedna z porovnávaných proměnných jiná, tak se vypíše tak část za else. Tedy text „Není to stejné“. Uvedu pro Vás příklad:

<?php   
  $prvni = "nashledanou";   
  $druha = "ahoj";
  if($prvni == $druha){  
    echo "Je to stejné"; 
  } else { 
    echo "Není to stejné";
  }  
?>

Nyní by se nám měl vypsat text „Není to stejné“.

Napište komentář!