Kontrola zmiennych
Podczas tych zajęć, omówimy i przetesujemy działanie funkcji wbudowanych, zarządzających zmiennymi w PHP.
Sprawdzanie i ustawianie typów zmiennych
Dwie często stosowane funkcje ogólne, to string gettype(mixed $zmienna)
oraz bool settype(mixed $zmienna, string $typ_zmiennej)
. Pierwsza z nich sprawdza typ, natomiast druga ustawia zmiennej wskazany typ. Ich działanie pokażemy na przykładzie:
Ćwiczenie 1_10_0_1. Sprawdzanie i ustawianie typów zmiennych
Zastosuj poniższy kod w pojedynczym pliku *.php.
<?php
$a='Ala ma kota';//typ string
echo 'Typ zmiennej - '.gettype($a).'<br />';
if (settype($a, 'integer')) echo gettype($a);
else echo 'Nie można ustawić typu na integer';
?>
W PHP znajduje się wiele funkcji wbudowanych sprawdzających, czy zmienna jest wskazanego typu. Niektóre z nich sprawdzimy na przykładzie:
Ćwiczenie 1_10_0_2. Sprawdzanie czy zmienna jest danego typu
Zastosuj poniższy kod w pojedynczym pliku *.php.
<?php
/*zastosujemy własną funkcję, która
wyświetli typ danej zmiennej*/
function jaki_typ($zmienna)
{
$typ='';
if (is_integer($zmienna)) $typ.='integer, ';
if (is_float($zmienna)) $typ.='float, ';
if (is_string($zmienna)) $typ.='string, ';
if (is_numeric($zmienna))
$typ.="ale także is_numeric($zmienna) === true";
echo $typ.'<br />';
}
$a=7;
$b=3.25;
$c='Ala ma kota';
$d='55';
echo '$a === 7 jest typu '; jaki_typ($a);
echo '$b === 3.25 jest typu '; jaki_typ($b);
echo '$c === '."'Ala ma kota'".' jest typu '; jaki_typ($c);
echo '$d === '."'55'".' jest typu '; jaki_typ($d);
?>
Przeanalizuj kod oraz wykonanie skryptu, zauważ że:
- Na początku zdefiniowano własną funkcję
jaki_typ()
, którą potem wywołano w kodzie skryptu. - Funkcja wbudowana
is_numeric()
daje wyniktrue
w przypadku liczb całkowitych, zmiennoprzecinkowych jak również ciągów znaków numerycznych. Dla jednoznacznego określenia typuinteger
,float
lubstring
, lepiej stosować odpowiednio funkcjeis_integer()
,is_float()
orazis_string()
. - Zastosowanie znaków cudzysłowia pozwoliło wyświetlić wartość zmiennej
$zmienna
oraz znaki apostrofów.
Sprawdzanie stanu zmiennej
Badanie aktualnego stanu zmiennej, możemy przeprowadzić za pomocą następujących funkcji wbudowanych:
bool isset(mixed $zmienna)
- pobiera zmienną jako argument i zwraca wartośćtrue
, jeżeli zmienna istnieje lubfalse
- w przeciwnym przypadku.bool empty(mixed $zmienna)
- pobiera zmienną jako argument i zwraca wartośćtrue
, jeżeli zmienna nie istnieje lub istnieje, ale posiada wartość pustą lub zerową.
Ćwiczenie 1_10_0_3. Sprawdzanie stanu zmiennej
Zastosuj poniższy kod w pojedynczym pliku *.php.
<?php
if (isset($a)) echo 'Zmienna istnieje';
else echo 'Zmienna nie istnieje';
echo '<br />';
if (empty($a)) echo 'Zmienna jest pusta';
else echo 'Zmienna nie jest jest pusta';
?>
Zwróć uwagę, że sprawdzana zmienna w ogóle nie została zainicjowana. Pokazane funkcje są nieodzowne podczas sprawdzania danych wysłanych za pomocą formularza.
Praca domowa
Wykonaj własne skrypty sprawdzające zmienne.
Jeżeli zapomniałeś jak przygotować i gdzie zapisywać pliki testowe: