Obrazek użytkownika cytrynek

Instrukcje warunkowe w PHP

Treść: 

Zasada działania instrukcji warunkowych jest bardzo prosta. Zazwyczaj określamy warunek lub grupę warunków i instrukcje jakie mają być wykonane jeżeli warunek się spełnia (zwraca wartość 1, TRUE) i jeżeli określimy to w naszym kodzie instrukcje jeżeli warunek zwraca 0, FALSE tzn.: się nie spełnia.

Instrukcje warunkowe mogą mieć prostą postać (np: if else) lub mogą być zawarte w pętlach tak aby wykonywały grupę operacji, dopuki warunek się spełnia (np: for ).

Poniżej przedstawię kilka przykładów:

Instrukcja IF

if (WARUNEK)
	{
	//kod który ma się wykonać przy spełnieniu warunku
	}

Instrukcję tę możemy sobie tłumaczyć tak: Jeżeli (IF) warunek jest spełniony to ({instrukcje}). Oto przykład kodu PHP z taką instrukcją:

 $zm = 2;

if ($zm == 2)
	{
	echo 'Podana liczba to 2';	
	}

Dodajemy blok dla niespełnionego warunku: else

 <?php

if ($zm == 2)
	{
	echo 'Podana liczba to 2';	
	}
else
	{
	echo 'Podano inną liczbę niż 2';
	}

Dodatkowe warunki if else

if ($zm == 1)
	{
	echo 'Podana liczba to1';	
	}
else if ($zm == 2)
	{
	echo 'Podana liczba to 2';	
	}
else if  ($zm == 3)	{
	echo 'Podana liczba to 3';	
	}
else if  ($zm == 4)	{
	echo 'Podana liczba to 4';	
	}
else
	{
	echo 'Jesteśmy poza zakresem';
	}

Przykładowy kod z wykorzystaniem funkcji isset (czy zmienna istnieje) oraz is_numeric (czy zmienna jest liczbą)

 $zm = 'tekst';
if (isset($zm) and is_numeric($zm)) //możemy tutaj wykorzystać zamiast 
//operatora and  inną nazwę dla tego operatora &&
	{
	echo 'Zmienna liczba przechowuje wartość liczbową';	
	}
else if(isset($zm) and !is_numeric($zm)) 
// ! wykrzyknik oznacza negację czyli w tym warunku
//pytamy czy $zm istnieje i "czy nie jest liczbą" (!is_numeric)
	{
	echo 'Zmienna liczba nie przechowuje liczby';
	}
else
	{
	echo 'Zmienna zm nie istnieje';
	}

Operatory logiczne:

  •  " ! " operator zaprzeczenia (logiczne NOT),
  • " && " operator koniunkcji (logiczne AND),
  • " || " operator alternatywy (logiczne OR).

Opratory porównania:

  • " == " sprawdza, czy dwie zmienne są równe, co do wartości,
  • " != " sprawdza, czy zmienne są różne co do wartości,
  • " === " sprawdza, czy zmienne są identyczne,
  • " !== " sprawdza, czy zmienne są nieidentyczne,
  • " > " sprawdza, czy zmienna z lewej strony jest większa od zmiennej z prawej strony,
  • " < " sprawdza, czy zmienna z prawej strony jest większa od zmiennej z lewej strony,
  • " >= " sprawdza, czy zmienna z lewej strony jest większa bądź równa od zmiennej z prawej strony,
  • " <= " sprawdza, czy zmienna z prawej strony jest większa bądź równa od zmiennej z lewej strony.

Instrukcja SWITCH - CASE - BREAK

 <?php

$zm = 3;

switch ($zm)
	{
	case 1:
	echo 'mamy 1';
	break;
	
	case 2:
	echo 'mamy 2';
	break;
	
	case 3:
	echo 'mamy 3';
	break;
	
	case 4:
	echo 'mamy 4';
	break;

	case 'foo':
	echo 'mamy foo';
	break;
	
	default:
	echo 'Mamy inną wartość: spoza zakresu';
	}

Pętla for

 <?php

for($i = 1; $i <= 10; $i++)
	{
	echo 'warość i: $i<br>';
	} 

Pętle idealnie nadają się do zastosowania w tablicach.

Pętla while

<?php

while ($liczba <= 10)
	{
	$liczba++;
echo "liczba ma wartość:$liczba<br />"; }

Pętla do while

<?php
do { echo $liczba; $liczba++; } while($liczba < 101) // warunek kontynuacji pętli ?>

Różnica pomiędzy while a do while polega na tym, że ta druga bez względu na warunek przynajmniej raz się wykona.