POWRÓT NA STRONĘ SZKOŁY

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 wynik true w przypadku liczb całkowitych, zmiennoprzecinkowych jak również ciągów znaków numerycznych. Dla jednoznacznego określenia typu integer, float lub string, lepiej stosować odpowiednio funkcje is_integer(), is_float() oraz is_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 lub false - 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: