Lekcje >> Podstawy PHP
Polimax

Drukarnia w Warszawie realizująca druk wizytówek, plakatów jak również fotoksiążki, fotoobrazy i fotokalendarze - z wysyłką na terenie całego kraju.

Typy danych w PHP

Powiedzieliśmy wcześniej, że zmienne przechowują wartości. W języku wysokiego poziomu operuje się wartościami liczbowymi, ale także innymi, na przykład tekst 'Jakiś tekst' jest również wartością. Dlatego wprowadzono podział na typy danych. Typ wiąże się również z wielkością pamięci jaka musi myć zarezerwowana, do przechowywania danego typu. Typ zmiennej odpowiada typowi danych w niej przechowywanych. W praktyce będziemy używać pojęcia typ zmiennej.

W PHP stosuje się następujące typy danych:

  • int - integer, liczby całkowite, np.: 2, 124, -34, itd.;
  • float - liczby zmiennopozycyjne, zmiennoprzecinkowe odpowiadające liczbom rzeczywistym, np.: 2.34, -23.3, 2.00, itd. Zauważ, że oddzielając część całkowitą od dziesiętnej, piszemy kropkę, a nie przecinek;
  • string - ciągi, łańcuchy znaków, np.: 'Ala ma kota', 'j23', '12', itd. Zwróć uwagę, że liczba całkowita 12 to coś innego jak string '12';
  • bool - typ logiczny boolean, przyjmujący wartości true (1) lub false (0);
  • array - typ tablicowy służący do przechowywania wielu danych;
  • object - stosowany w PHP obiektowym;
  • Typy specjalne:
    • NULL - taki typ posiada zmienna, której nie przypisano żadnej wartości lub przypisano wartość NULL;
    • resource - reprezentują zasoby zewnętrzne, ucząc się podstaw nie będziemy ich stosować.

W większości języków programowania, wymagana jest deklaracja typu każdej ze zmiennych wykorzystywanych w programie. W PHP jest inaczej - określenie typu następuje automatycznie podczas przypisywania zmiennej wartości. Robi to za nas interpreter, a więc mamy mniej pisania. Dodatkowo zmienna w trakcie wykonywania skryptu, może przyjmować różne typy. Czyni to PHP językiem bardzo elastycznym, niemniej każdy medal ma jak zwykle dwie strony. Przy bardziej złożonych kodach, występuje realne ryzyko utraty kontroli nad typami zmiennych co grozi błędami w wykonywaniu programu. Czy na przykład podzielenie zmiennej $a przez zmienną $b stanowi jakiś problem? Raczej nie, jeżeli oczywiście $b nie jest zerem. A co będzie dajmy na to, jeżeli zmienna $a będzie ciągiem znaków, (a więc typu string) np. 'Ala ma kota'. Próbowałeś kiedyś podzielić 'Ala ma kota' np. przez 10?. Nie da się wykonać takiego działania. Ale na wszystko jest rada. PHP posiada wiele gotowych funkcji (pamiętasz co to jest funkcja?) umożliwiających aktualny "stan" zmiennej.

Ćwiczenie 1_5_0_1. Odbieranie danych wysłanych poprzez formularz

  1. Wykorzystaj pliki utworzone podczas poprzednich zajęć.
  2. Zmodyfikuj kod PHP do pstaci:
    <?php
      $a = $_POST['pole_1'];
      $b = $_POST['pole_2'];
      
      echo $a + $b; echo '<br />';
      echo $a - $b; echo '<br />';
      echo $a * $b; echo '<br />';
      echo $a / $b; 
    ?>
    
    Działanie formularza będzie następujące:
  3. Przetesuj działanie skryptu dla różnych typów wprowadzanych danych - w skrypcie mamy kolejno dodawanie, odejmowanie, mnożenie i dzielenie.
  4. Czy każde działanie jest wykonalne? Jaki komunikat pokaże przeglądarka na jeżeli na przykład w pierwszym polu wpiszesz liczbę 3, natomiast w drugim tekst Ala ma kota?

Jeżeli nie wiesz gdzie zapisywać pliki, zajrzyj do ćwiczenia 1_3_0_1.