PHP - If/else uslovi


Uslovne izjave u PHP-u

Kao i većina programskih jezika, PHP vam takođe omogućava pisanje koda koji izvodi različite radnje na temelju rezultata logičkih ili komparativnih uslova testiranja u toku rada. To znači da možete stvoriti uslove testiranja u obliku izraza koji se procjenjuju istinitim (true) ili lažnim (false) i na temelju tih rezultata možete izvesti određene radnje. Postoji nekoliko izjava u PHP-u koje možete koristiti za donošenje odluka:

  • Izjava if
  • Izjava if ... else
  • Izjava if ... else if .... else
  • Izjava o slučaju (switch)

Svaku od ovih izjava istražićemo u narednim lekcijama.



If uslovi

Izjava if koristi se za izvršavanje bloka koda samo ako je navedeni uslov ocijenjen istinitim (true). Ovo su najjednostavnije PHP-ove uslovne izjave i mogu se napisati kao:

if(condition){
    // Kod koji se treba izvršiti
}

Sljedeći primjer će ispisati "Lijep vikend!" ako je tekući dan petak:

<?php
$d = date("D");

if($d == "Fri"){
    echo "Lijep vikend!";
}
?>
Pogledajmo kako koristiti primjer u praksi:

<!DOCTYPE html>
<html lang="en">
<head>
    <title>PHP if uslovi</title>
</head>
<body>

<?php
$d = date("D");

if($d == "Fri"){
    echo "Lijep vikend!";
}
?>

</body>
</html>


If/else uslovi

Proces donošenja odluka možete poboljšati pružanjem alternativnog izbora dodavanjem izjave else u izjavu if. Izjava if / else omogućava vam izvršavanje jednog bloka koda ako je navedeni uslov ocijenjen istinitim, a drugi blok koda ako je ocijenjen na lažno. Može se napisati ovako:

if(condition){
    // Kod koji će se izvršiti ako je uslov tačan
} else{
    // Kod koji će se izvršiti ukoliko uslov nije tačan
}

Sljedeći primjer će ispisati "Lijep vikend!" ako je tekući dan petak, a u suprotnom će se pojaviti "Ugodan dan!".

<?php
$d = date("D");

if($d == "Fri"){
    echo "Lijep vikend!";
} else{
    echo "Ugodan dan!";
}
?>
Pogledajmo kako koristiti primjer u praksi:

<!DOCTYPE html>
<html lang="en">
<head>
    <title>PHP if-else uslovi</title>
</head>
<body>

<?php
$d = date("D");

if($d == "Fri"){
    echo "Lijep vikend!";
} else{
    echo "Ugodan dan!";
}
?>

</body>
</html>


If/else if/else uslovi

Izraz if/else je poseban izraz koji se koristi za kombinaciju više if / else izjava.

if(condition1){
    // Kod koji će se izvršiti ukoliko je uslov1 tačan (true)
} elseif(condition2){
    // Kod koji će se izvršiti ukoliko je uslov1 netačan (false), a uslov2 tačan (true)
} else{
    // Kod koji će se izvršiti ukoliko su oba uslova netačna (false)
}

Sljedeći primjer će ispisati "Lijep vikend!" ako je tekući dan petak, i "Ugodna nedjelju!" ako je tekući dan nedjelja, u protivnom će se pojaviti "Ugodan dan!".

<?php
$d = date("D");

if($d == "Fri"){
    echo "Lijep vikend!";
} elseif($d == "Sun"){
    echo "Ugodna nedjelju!";
} else{
    echo "Ugodan dan!";
}
?>
Pogledajmo kako koristiti primjer u praksi:

<!DOCTYPE html>
<html lang="en">
<head>
    <title>PHP if-elseif-else izjave</title>
</head>
<body>

<?php
$d = date("D");

if($d == "Fri"){
    echo "Lijep vikend!";
} elseif($d == "Sun"){
    echo "Ugodna nedjelju!";
} else{
    echo "Ugodan dan!";
}
?>

</body>
</html>

O switch naredbama u PHP-u, saznaćete u narednim lekcijama.



Ternarni operatori

Ternarni operator pruža kraći način pisanja if / else izjava. Ternarni operator predstavljen je simbolom upitnika (?) i potrebne su tri operande: uslov za provjeru, rezultat za true i rezultat za false. Da biste razumjeli kako ovaj operater radi, pogledajte sljedeći primjer:

<?php
if ($age < 18){
    echo 'Maloljetan'; // Ispisuje maloljetan
} else{
    echo 'Punoljetan'; // Ispisuje punoljetan
}
?>
Pogledajmo kako koristiti primjer u praksi:

<!DOCTYPE html>
<html lang="en">
<head>
    <title>Standardne PHP if-else izjave</title>
</head>
<body>

<?php
if ($age < 18){
    echo 'Maloljetan'; // Ispisuje maloljetan
} else{
    echo 'Punoljetan'; // Ispisuje punoljetan
}
?>

</body>
</html>

Pomoću ternarnog operatera isti se kod može napisati na kompaktniji način:

<?php echo ($age < 18) ? 'Maloljetan' : 'Punoljetan'; ?

Ternarni operator u gornjem primjeru bira vrijednost s lijeve strane (tj. 'Maloljetan') ako je stanje ocijenjeno istinitim (true) (tj. ako je $age manja od 18 godina) i bira vrijednost s desne strane dvotočka ( tj. 'Punoljetan') ako se stanje ocijeni lažnim (false).



Null Coalescing operatori PHP 7

PHP 7 predstavlja novi null coalescing operator (??) koji možete koristiti kao skraćenicu gdje trebate koristiti trojni operator u kombinaciji sa isset() funkcijom. Da biste ovo bolje razumjeli pogledajmo sljedeću liniju koda. Dohvatanje vrijednosti $_GET ['ime'], ako ne postoji ili NULL vraća 'anonymous'.

<?php
$name = isset($_GET['name']) ? $_GET['name'] : 'anonymous';
?>
Pogledajmo kako koristiti primjer u praksi:

<!DOCTYPE html>
<html lang="en">
<head>
    <title>Korištenje PHP ternarnog operatora isset()</title>
</head>
<body>

<?php
$name = isset($_GET['name']) ? $_GET['name'] : 'anonymous';
?>

</body>
</html>

Korištenjem null coalescing operatora, kod se može zapisati kao:

<?php
$name = $_GET['name'] ?? 'anonymous';
?>

Kao što vidite, sintaksa je kompaktnija i jednostavnija za pisanje.