laptop blog

Instrukcje warunkowe w PHP

Czas czytania: 3 minut

Instrukcje warunkowe stanowią podstawę każdego języka programowania.Bez znaczenia jest jaki to język bo zasady ich działania są bardzo podobne i wynikają w większość z ogólnie stosowanych założeń logiki. Zadaniem instrukcji warunkowych jest wykonywane pewnych określonych czynności. Czynności te mogą być:

  • nie powtarzalne,
  • występować w pewnej liczbie,
  • do momentu spełnienia określonego warunku.

Instrukcje warunkowe

Poniżej znajduje się poglądowa instrukcja warunkowa:

<?php
if(wyrażenie_warunkowe)
   instrukcja wykonywana jeśli spełniony zostanie warunek
elseif(inne_wyrażenie_warunkowe)
   instrukcja wykonywana jeśli spełniony zostanie drugi warunek, a pierwszy nie
else
   instrukcja wykonywana jeśli nie zostanie spełniony żaden z warunków
?>

Jak widać zawiera ona pewien warunek, do którego obsłużenia potrzebne są wykorzystywane w PHP operatory.

I tak mamy:

  • if – jeśli, występuje tylko raz
  • elseif / else if – albo jeśli, może się kilkakrotnie powtórzyć
  • else – albo, może wystąpić tylko raz. Obsługiwane jeśli żaden z powyższych warunków nie został obsłużony.

Zastosowanie pętli warunkowej na przykładzie

Najlepiej zasady tej instrukcji zrozumie się gdy pozna się zasady:

<?php
$a=10;
$b=12;

if($a > $b)
   echo $a . " Pierwszy jest większy";
elseif($a < $b)
   echo $b . " Drugi jest większy";
else 
   echo "Są równe"; 
?>

Wynikiem tej operacji będzie:
12 Drugi jest większy

Jak doszliśmy do tego wyniku? Do zmiennych a i b przypisaliśmy wartości 10 i 12. Następnie sprawdzamy, w pierwszym wypadku czy a jest większe od b. Jak widać jest mniejsze więc warunek nie został spełniony dlatego przechodzi do kolejnego warunku. Czyli czy b jest większe od a. Ten warunek jest spełniony i pojawia się komunikat 12 Drugi jest większy.
Załóżmy teraz że a i b są równe w tym wypadku przechodzi do ostatniej instrukcji i ją wykonuje.

Instrukcje warunkowe mogą być oczywiście bardziej skomplikowane i zawierać więcej zmiennych np.

<?php
$a=10;
$b=5:
$c=11;
  if ($a > $b){
    if ($b > $c ){
     echo "Drugi jest większy od trzeciego";
    } else {
     echo "Trzeci jest większy od drugiego";
    }
  }
?>

Wynikiem tej operacji będzie:
Trzeci jest większy od drugiego

Pętla typu for()

Innym typem pętli warunkowych jest for(). Pętla ta działa w inny sposób niż ta powyżej!

<?php
for (licznik; warunek; zwiększenie licznika) {
    echo "przykładowy tekst";
}
?>

Posiada ona określony warunek. Do momentu jego spełnienia zawartość pętli będzie się wykonywała. Jeśli chodzi o jej elementy to:

  1. element – licznik np. $i = 0; / zapis ten jest deklaracją zmiennej $i oraz przypisaniem jej wartości 0
  2. warunek – $i <= 10; / dość prosty warunek pętla kończy się w momencie gdy $i będzie równe lub większe 10
  3. zwiększenie licznika – $i++ / zwiększenie wartości licznika o 1 inny zapis tej funkcji to $i = $i +1;
<?php
for ($i = 0; $i <= 10; $i++) {
    echo "Wynik: $i <br>";
}
?>

Pętla ta przydatna jest np. do wypisywania informacji z bazy danych. Z jej pomocą swobodnie możemy przechodzić po określonych rekordach (elementach bazy). Kwestią jest jedynie odpowiednie dobranie parametrów.

Pętla foreach

foreach to kolejna ciekawa pętla warunkowa. Z jej pomocą można wypisać ciągi znaków zapisane do zmiennej pełniącej rolę tablicy. Brzmi skompilowanie, ale tylko na początku – na razie.

Na początek może poznamy lub przypomnimy sobie sposób na utworzenie prostej tablicy.

$colors = array("red", "green", "blue", "yellow");

Jak widać to było proste. Mamy tutaj zmienną $colors, która posiada 4 atrybuty. Gdyśmy dodali je po prostu po przecinku otrzymali byśmy zwykły ciąg znaków. Jednak zastosowanie array() sprawiło, że otrzymaliśmy prostą tablicę. Dla ułatwienia wygląda ona mniej więcej tak:

red
green
blue
yellow

Teraz by ponownie wypisać elementy tej tablicy użyjemy właśnie foreach. Pętla będzie po kolei dopytywać się o kolejny element aż się one skończą. Przykład:

<?php  
$colors = array("red", "green", "blue", "yellow"); 

foreach ($colors as $value) {
  echo "$value <br>";
}
?>

Wynikiem będzie wypisanie wszystkich wartości jedna pod drugą:

red
green
blue
yellow

Podsumowanie

Chyba omówiłam już wszystkie podstawowe pętle. Jeśli pominęłam jakąś postaram się ją dodać.

Jak widać operacje warunkowe są dosyć proste kiedy się nad nimi chwile zastanowi.