if, elseif i else
Podejmowanie decyzji w PHP za pomocą rozgałęzień warunkowych.
if, elseif i else to bezpłatna lekcja PHP Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej PHP Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs PHP Academy zawiera 4 lekcji w sumie.
Logika warunkowa w PHP
Instrukcje warunkowe pozwalają programowi podejmować decyzje. PHP udostępnia if, elseif i else do rozgałęziania logiki.
Warunek wewnątrz if () jest oceniany jako wartość logiczna — wartość truthy powoduje wykonanie bloku, a wartość falsy jego pominięcie.
Podstawowa instrukcja if
Najprostszy warunek — kod jest wykonywany tylko wtedy, gdy warunek jest prawdziwy:
<?php
$age = 20;
if ($age >= 18) {
echo 'Adult';
}
// Output: Adultif / else
Dodaj gałąź else na wypadek, gdy warunek jest fałszywy:
<?php
$score = 45;
if ($score >= 50) {
echo 'Pass';
} else {
echo 'Fail'; // runs
}Łańcuchy elseif
Testuj wiele warunków po kolei za pomocą elseif:
<?php
$grade = 78;
if ($grade >= 90) {
echo 'A';
} elseif ($grade >= 80) {
echo 'B';
} elseif ($grade >= 70) {
echo 'C'; // runs
} else {
echo 'F';
}Operatory porównania
Operatory używane w warunkach:
==równe (luźne)===identyczne (ścisłe)!=różne<>mniejsze/większe od<=>=mniejsze/większe lub równe
Preferuj ===, aby uniknąć niespodzianek związanych z żonglowaniem typami.
Operatory logiczne
Łącz warunki za pomocą operatorów logicznych:
<?php
$age = 25;
$member = true;
if ($age >= 18 && $member) {
echo 'Access granted'; // both true
}
if ($age < 18 || $member) {
echo 'Also granted'; // one is true
}
if (!$member) {
echo 'Not a member';
}Operator trójargumentowy
Operator trójargumentowy to zwięzły, jednowierszowy zapis prostego warunku if/else:
<?php
$age = 20;
$status = ($age >= 18) ? 'adult' : 'minor';
echo $status; // adult
// Null coalescing operator ?? (PHP 7+)
$name = $_GET['name'] ?? 'Guest';
echo $name; // 'Guest' if name not in URLPrzypisanie z operatorem null coalescing
PHP 7.4 dodał operator ??=, który przypisuje wartość domyślną tylko wtedy, gdy zmienna ma wartość null lub nie jest ustawiona:
<?php
$config = [];
$config['debug'] ??= false;
$config['timeout'] ??= 30;
var_dump($config);
// ['debug' => false, 'timeout' => 30]Alternatywna składnia if
PHP obsługuje alternatywną składnię z dwukropkiem, przeznaczoną do użycia wewnątrz szablonów HTML:
<?php $loggedIn = true; ?>
<?php if ($loggedIn): ?>
<p>Welcome back!</p>
<?php else: ?>
<p>Please log in.</p>
<?php endif; ?>Operator statku kosmicznego
Operator statku kosmicznego <=> porównuje dwie wartości i zwraca -1, 0 lub 1 — doskonale nadaje się do sortowania:
<?php
echo 1 <=> 2; // -1 (left is less)
echo 2 <=> 2; // 0 (equal)
echo 3 <=> 2; // 1 (left is greater)
$nums = [3, 1, 4, 1, 5];
usort($nums, fn($a, $b) => $a <=> $b);
print_r($nums); // [1, 1, 3, 4, 5]match a if
PHP 8 match jest bardziej rygorystyczną alternatywą dla długich łańcuchów if/elseif — poznają go Państwo w następnej lekcji. Najważniejsza różnica w porównaniu z if: match używa ścisłego porównania i nie wykonuje żonglowania typami.
Szybkie sprawdzenie
Co robi operator ???
Podsumowanie: if/elseif/else
Najważniejsze informacje:
- Używaj
if,elseifielsedo rozgałęziania logiki - Preferuj
===zamiast==, aby uniknąć żonglowania typami - Używaj operatora trójargumentowego
?:do zwięzłych gałęzi zawierających pojedyncze wyrażenie - Używaj
??do ustawiania wartości domyślnych z użyciem operatora null coalescing - Alternatywna składnia z dwukropkiem przydaje się w szablonach HTML
Dalej: instrukcje switch i match.
Często zadawane pytania
Czy lekcja „if, elseif i else” jest bezpłatna?
Tak — pełny tekst „if, elseif i else” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu PHP Academy, przejdź na CoddyKit PRO. Kurs PHP Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „if, elseif i else”?
Podejmowanie decyzji w PHP za pomocą rozgałęzień warunkowych. Ćwiczysz PHP Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć PHP Academy?
Nie wymagamy żadnego doświadczenia. PHP Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.
Ile czasu zajmuje lekcja „if, elseif i else”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji PHP Academy?
Tak. Każda lekcja PHP Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- if, elseif i else
- Instrukcje switch i match
- Pętle for i while
- foreach i sterowanie pętlą