Condicionals
Comparadors
<?php
$a = 10;
$b = 20;
var_dump($a == $b); // false (igualtat)
var_dump($a != $b); // true (diferent)
var_dump($a < $b); // true
var_dump($a >= $b); // false
// Comparador estricte === o !==
$a = 5; // enter
$b = "5"; // cadena
var_dump($a == $b); // true → només compara el valor (5 == "5")
var_dump($a === $b); // false → compara valor i tipus (enter ≠ cadena)
$c = 10;
$d = 10;
var_dump($c === $d); // true → mateix valor i mateix tipus
| Operador | Significat | Exemple ($a = 5; $b = "5";) |
|---|---|---|
== |
Igualtat de valor | true (5 és igual a "5") |
!= |
Diferent (per valor) | false |
<, > |
Menor / Major | Depèn dels valors |
>=, <= |
Major/menor o igual | Depèn dels valors |
=== |
Igualtat estricta (valor + tipus) | false |
!== |
Diferent estricta (valor o tipus) | true |
Condicionals
Els condicionals en PHP són instruccions que permeten executar diferents blocs de codi segons si es compleix una condició (true o false)
if
<?php
$edat = 18;
if ($edat >= 18) {
echo "Ets major d’edat.";
}
if...else
<?php
$login_correcte = false;
if ($login_correcte) {
echo "Benvingut!";
} else {
echo "Error: usuari o contrasenya incorrectes.";
}
if...elseif...else
<?php
$nota = 7;
if ($nota >= 9) {
echo "Excel·lent";
} elseif ($nota >= 5) {
echo "Aprovat";
} else {
echo "Suspès";
}
switch
Alternativa a tenir molts if...elseif. Permet comparar una variable amb diferents casos
<?php
$dia = "dilluns";
switch ($dia) {
case "dilluns":
echo "Comença la setmana!";
break;
case "dissabte":
case "diumenge":
echo "És cap de setmana!";
break;
default:
echo "Un altre dia qualsevol.";
}
Important: Cal el break per evitar que continuï executant els següents casos
Operador ternari (?:)
És la forma abreujada de tenir un if...else
<?php
$edat = 20;
$resultat = ($edat >= 18) ? "Major d’edat" : "Menor d’edat";
/*
if ($edat>=18)
$resultat="Major d'edat";
else
$resultat="Menor d'edat";
*/
echo $resultat;
Operador null coalescing (??)
Aquest operador verifica si una variable està definida i no és null. Sinó, dona un valor per defecte.
<?php
$usuari = $_GET['usuari'] ?? "Anònim";
echo "Hola, $usuari!";
/*************************************************
Comprovar si la variable existeix i no és null
- Si a l’URL tenim ?usuari=Maria, mostrarà “Hola, Maria!”.
- Si no hi ha cap usuari, mostrarà “Hola, Anònim!”.
***************************************************/
if (isset($_GET['usuari']) && $_GET['usuari'] !== null) {
$usuari = $_GET['usuari'];
} else {
$usuari = "Anònim";
}
echo "Hola, $usuari!";
match (PHP 8+)
Simillar a switch, però més net i amb retorn de valors directament
<?php
$nota = 8;
$resultat = match (true) {
$nota >= 9 => "Excel·lent",
$nota >= 5 => "Aprovat",
default => "Suspès",
};
echo $resultat;