Warunki i pętle

Szybki hosting dla WordPressa

Instrukcje warunkowe

Instrukcje warunkowe są podstawą każdego języka programowania. Używa się ich do wykonania pewnej instrukcji (lub bloku instrukcji), ale tylko w pewnych okolicznościach – jeśli zostanie spełniony określony warunek (lub cały zestaw warunków). Składnia instrukcji warunkowej jest następująca:

<?
 
  if (wyrażenie_warunkowe)
  instrukcja wykonywana jeśli spełniony zostanie warunek

  else if (inne_wyrażenie_warunkowe)
  instrukcja wykonywana jeśli spełniony jest drugi warunek, a pierwszy nie

  else
  instrukcja wykonywana jeśli nie zostanie spełniony żaden z warunków

?>
Wyrażeniem warunkowym jest w zasadzie dowolne wyrażenie, ponieważ za warunek uznawane jest wszystko co zwraca wartość, czyli wszystkie zmienne, wyrażenia logiczne, funkcje itp. Za spełniony warunek uznawana jest wartość większa od zera.
<?
 
    $a = 2;
    $b = 5;
    $c = 1;
   
    if ($a > $b)
        echo "$a jest większe od $b";
    else if ($b > $c)
        echo "$b jest większe od $c";
    else
        echo "$c jest większe od $a i $b";

    if ($a)
        echo "Zmienna $a ma wartość większą od zera";

?>
Jeśli chcemy, aby po sprawdzeniu warunku wykonane zostało nie jedno, ale kilka poleceń, to polecenia te należy ująć w nawiasy klamrowe. Bez tego warunkiem objęta byłaby tylko jedna instrukcja po instrukcji if.

Instrukcje mogą być zagnieżdżanie wewnątrz siebie:

<?
 
    $a = 6;
    $b = 5;
    $c = 1;

    if ($a > $b){

        echo "$a jest większe od $b";   

        if ($a > $c)
            echo " i od $c";

    }

    // Powinien zostać wyświetlony napis "6 jest większe od 5 i od 1"

?>
Oczywiście możliwe jest korzystanie z warunków bardziej złożonych niż pojedyncze porównanie wielkości zmiennych – do łączenia warunków niezbędne jest wykorzystanie operatorów logicznych opisanych pod tym adresem. Operator logiczny OR (lub) ma większy priorytet niż operator AND (i), więc aby sprawdzić warunek gdzie konieczna jest inna kolejność, niezbędne jest użycie nawiasów grupujących warunki.

 

Na przykład, chcemy aby jakaś instrukcja była wykonana jeśli zmienna $a jest większa od $b lub $c i zmienna $d była równa $e. Jeśli chcielibyśmy zapisać to bez żadnych nawiasów: $a > $b || $a > $c && $d == $e to efekt byłby zupełnie inny od zamierzonego: instrukcja byłaby wykonana jeśli $a byłoby większe od $b, lub jeśli $a byłoby większe od $a i $d byłoby równe $e. Poprawna konstrukcja to ($a > $b || $a > $c) && $d == $e.
<?
 
    $a = 6;
    $b = 5;
    $c = 7;
    $d = 6;
    $e = 6;

    if ( ($a > $b || $a > $c) && // Nawiasy klamrowe nie są potrzebne 
            $d == $e )           // to 2 linie ale jedna instrukcja
       
    echo 'Zmienna $a jest większa od $b a zmienna $d jest równa $e, '. 
    'więc ten tekst pokaże się.';    // Taka konstrukcja jest dozwolona

?>

Pętla for

Czasem zachodzi potrzeba wykonania danej czynności określoną ilość razy. Z pomocą przychodzi jedna z najczęściej używanych składni w większości języków programowania – pętla for. Ogólny zapis wygląda tak:

<?
 
for (inicjalizacja zmiennych ; sprawdzenie warunku ; modyfikacja zmiennych) 
{
    blok wyrażeń
}

?>
Jak widać, w tej pętli podaje się trzy wyrażenia jako parametry: inicjalizację zmiennych, czyli ustawienie początkowych wartości dla zmiennych kontrolujących pętlę, sprawdzenie warunku, czyli wyrażenie logiczne kontrolujące pętlę – pętla będzie wykonywana dopóki ten warunek jest prawdziwy oraz modyfikację zmiennych kontrolujących pętlę – bez tego pętla będzie wykonywała się w nieskończoność (oczywiście wartość tych zmiennych można modyfikować wewnątrz pętli, ale jest to niezalecane).

Przykład najprostszej pętli, która wypisze liczby od 1 do 10:

<?
 
    for ($x = 1; $x <= 10; $x++)
        echo $x.'
';

?>

Pętla while

Innym rodzajem pętli jest pętla while. Wykorzystuje się ją w sytuacjach, kiedy niezbędne jest wykonywanie danej operacji dopóki nie zostanie spełniony warunek. Pętla while ma następującą składnię:

<?
 
    while (warunek) {
        ...
        instrukcje
        ...
    }

?>

Przykładowo można za pomocą tej pętli zapisać odpowiednik pętli for z poprzedniego przykładu:

<?

    $x=1;

    while ($x <= 10) {
        echo $x.'
';
        $x++;
    }

?>

Pętla do…while

Odmianą pętli while jest pętla do…while. Od zwykłej pętli while różni się tym, że polecenia w niej zawarte będą wykonane przynajmniej raz – w przypadku pętli while tak być nie musi, to znaczy jeśli za pierwszym razem warunek nie zostanie spełniony to polecenia z pętli nigdy nie zostaną wykonane.

W przypadku do…while zostaną one wykonane przynajmniej pierwszy raz. Składnia:

<?
 
     do {
        ...
        instrukcje
        ...
    } while (warunek);

?>

Przerywanie wykonań pętli

Czasem zachodzi potrzeba przerwania danej iteracji (powtórzenia) pętli i przejścia do następnej. Z pomocą przychodzi wtedy instrukcja continue. Wystarczy wstawić ją w odpowiednie miejsce wewnątrz pętli. Przykład:

<?
 
     for ($x = 1; $x <= 100; $x++) {
   
        if ($x % 2 != 0)
            continue;

        echo $x.' ';
    }

?>

Po uruchomieniu powyższego przykładu powinieneś zobaczyć liczby parzyste od 1 do 100. Oczywiście można to zapisać prościej:

<?
 
     for ($x = 1; $x <= 100; $x++) {

        if ($x%2==0)
            echo $x.' ';

    }

?>

Istenie także instrukcja, która powoduje całkowite wyjście z pętli – nie tylko z bieżącej iteracji. Ta instrukcja to break.

<?
 
    $tablica = array('a', 'b', 'c', 'd', 'e', 'f');
    $x = 0;

    while (true) {

        if ($tablica[$x] == 'd')
            break;

        $x++;

    }

?>

Dla potrzeb przykładu wprowadziliśmy najprostszą tablicę. Więcej informacji o tablicach znajdziesz pod tym adresem.

Składnia switch

switch jest instrukcją warunkową, w której jedną zmienną można porównać nie z jedną wartością, ale z kilkoma. Niestety nie można konstruować złożonych warunków – możliwe jest tylko proste porównywanie, równoważne instrukcji if($zmienna==”wartość”). Składnia:

<?
 
     switch ($zmienna) {
        case 'wartość1':
            ...
            instrukcje
            ...
            break;
        case 'wartość2':
            ...
            instrukcje
            ...
            break;
        default:
            ...
            instrukcje
            ...
    }

?>
Instrukcje zawarte po identyfikatorze default wykonywane są, jeśli zmienna $zmienna nie przyjęła żadnej z wymienionych wyżej wartości. Aby dobrze wykorzystać tę składnię, warto dokładnie wiedzieć jak ona działa. Instrukcje są przetwarzane linia po linii.

 

Parser przechodzi do pierwszej linii case pasującej do zmiennej. Następnie przetwarzane są wszystkie linie poniżej, aż do napotkania instrukcji break – nawet jeśli po drodze znajdują się instrukcje case. Przykład:
<?
 
     $i = 3;

    switch($i){
        case 0:
        case 1:
        case 2:
        case 3:
            echo "Zmienna $i jest mniejsza bądź równa trzy\n";
            break;
        case 4:
            echo "Zmienna $i jest równa cztery\n";
            break;
        default:
            echo "Zmienna $i jest większa od czterech\n";
    }

?>

Hosting stworzony dla WordPressa

Masz stronę WWW na WordPressie? My też uwielbiamy ten system dla stron internetowych. Dlatego stworzyliśmy hosting specjalnie dla jego użytkowników.


  • Czy artykuł był pomocny ?
  • Tak   Nie
Szukaj
Generic filters
Tylko dokładne dopasowania
Szukaj w tytułach
Szukaj w treści
Filter by Article Categories
Najczęściej zadawane pytania
Dodatkowe narzędzia hostingu
Statystyki serwera (nowe)
Połączenie SSH
Statystyki serwera (stare)
WebFTP
Autoinstalator
Kontrola wersji (SVN)
Listy mailingowe
Poczta home.pl
Obsługa poczty webmail
Programy pocztowe
Nowa platforma home.pl
Częste pytania
Bezpieczeństwo
Instalacje
Panel klienta
Domeny
Hosting
Serwer Apache
Bazy danych
Certyfikaty SSL
Zamawianie SSL
Instalacja i konfiguracja SSL
Poczta e-mail
WordPress Hosting SSD
Dodatki od partnerów
Poprzednia platforma home.pl
Certyfikaty SSL
Zamawianie certyfikatów SSL
Konfiguracja i instalacja SSL
Panel home.pl
Informacje podstawowe
Pulpit
Usługi
Płatności
Profil
Centrum Pomocy
Operacje w Panelu home.pl
Serwery
WebFTP
Informacje podstawowe
Konfiguracja serwerów
Serwery Unix
Serwery Windows
Obsługa baz danych
phpMyAdmin (MySQL)
phpPgAdmin (PgSQL)
myLittleAdmin (MSSQL)
Sklep internetowy eSklep
Panel usługi eSklep
RODO w sklepie internetowym
Panel sklepu internetowego
Pierwsze kroki
Promocja sklepu
Sprzedaż
Pierwsze uruchomienie
Dodatki od partnerów
Asortyment
Klienci
Integracje
Inne integracje
Systemy aukcyjne
Baza produktów
Aplikacje
App store
Aplikacja mobilna
Marketing
Modyfikacja wyglądu
Dokumentacja
Dla deweloperów
Style graficzne
Inne zagadnienia
Raporty i statystyki
Zawartość
Filmy instruktażowe
Konfiguracja sklepu
Rozliczenia i dokumenty
Faktury
Zmiana danych (cesja)
Rozliczenia i płatności
Dokumenty do pobrania
Produkty i usługi
Kreator Stron WWW
eCommerce
Moduły
Ustawienia
Szablony
Nawigacja
Publikacja i dodatki
Szybki start
Prestahosting
Profesjonalne usługi IT
Certyfikaty SSL
Przywracanie danych
Udostępnienie logów
Operacje na plikach i bazach danych
WordPress
Terminal płatniczy SumUp
Wordpress hosting SSD
Domeny
Informacje podstawowe
Rejestracja / opłacanie
Konfiguracja domen
Transfer domen
Giełda domen
Dodatki do domen
Serwery VPS
Skrzynki e-mail
Microsoft Exchange
Cloud Email Xchange
Obsługa skrzynek w Panelu home.pl
Jak zarejestrować Personal email lub Business email?
Bezpieczeństwo
eKsięgowość
Reklama internetowa
Reklama Allegro Ads
Tworzenie stron WWW
Contact LEADer
Reklama banerowa Google
Zakupy Google
Google Ads (AdWords)
eKampanie Google
SEMSTORM
Pozycjonowanie
rankingCoach
Baza wiedzy
Facebook
Systemy CMS
Internet w praktyce
Przydatne programy
Konfiguracja programów FTP
Zagadnienia techniczne
.htaccess
mod_rewrite
Kursy i specyfikacje
Kurs HTML
Kurs PHP
Kurs SQL
Rejestracja usług
RODO w home.pl
English
Website Builder
Control Panel
Webmail
FTP
Office 365
WordPress
SSL certificate
Aplikacje w marketplace
SimplySign
SiteLock - ochrona WWW
Dropsuite Email Backup
CCleaner
Antywirus Kaspersky
Dropbox - dysk w chmurze
Płatności PayU
Programy antywirusowe AVAST
Office 365
AVG PC TuneUp
Reklama na start
Google AdWords
Zareklamuj stronę WWW na Facebook
Cloud Email Xchange
Brand24
Microsoft OneDrive
FreshMail.pl
Tłumaczenia online
G Suite - poczta Gmail
Program prowizyjny
Acronis Backup
Informacje podstawowe
Ustawienia dodatkowe
Panel użytkownika
Panel administratora
lub