Typy danych i zmienne w PHP

W każdym języku programowania istnieją specjalne konstrukcje służące do przechowywania danych. Choć wydają się i rzeczywiście są bardzo proste, to ich rola w każdym skrypcie jest wprost nie do przecenienia. Domyślasz się, o czym mowa? Oczywiście, o zmiennych.

Zmienne w PHP, jak we wszystkich językach programowania, są podstawowym narzędziem do przechowywania danych. Aby utworzyć zmienną PHP, wystarczy wymyślić jakąś nazwę z zachowaniem paru prostych zasad tworzenia zmiennych w PHP i wpisać ją po znaku dolara, np.:


$test;

Operator przypisania PHP

Taka instrukcja, która tylko tworzy zmienną, ale nie przypisuje jej żadnej wartości, nazywa się deklaracją zmiennej. Aby jednak ze zmiennej był jakikolwiek pożytek, należy przypisać jej wartość — liczbę, tekst lub inny rodzaj danych. Do tego służy znak równości (zwany operatorem przypisania), np.:


$test = 6;

W tym przykładzie utworzyliśmy zmienną o nazwie $test i wartości 6. Taka instrukcja, która nie tylko tworzy zmienną, ale dodatkowo nadaje jej wartość, nazywa się definicją zmiennej.

Jak wskazuje sama nazwa, wartości zmiennych można modyfikować, np.:


$test = 7;

Teraz zmienna $test ma wartość 7. Możesz to sprawdzić za pomocą konstrukcji echo, np.:


$test = 6;
echo $test, "<br>";
$test = 7;
echo $test;

Wynik na stronie:


6
7

Początkowo zmienna $test miała wartość 6, po czym została ona zmieniona na 7. Jest to niezbity dowód, że zmienne w PHP są naprawdę zmienne…

Przypisywanie wartości zmiennym

Podstawową technikę przypisywania wartości zmiennym w PHP już znasz — należy po znaku równości, przed którym znajduje się nazwa zmiennej, wpisać dowolną wartość i gotowe. To jednak nie wszystko, co można powiedzieć na ten temat.

Dodatkowo jedną zmienną można przypisać innej zmiennej, aby obie miały taką samą wartość, np.


$a = 6;
$b = $a;
echo $b;

Po wykonaniu tego kodu na stronie pojawi się wartość zmiennej $b, czyli 6 — teraz zarówno $a, jak i $b mają taką samą wartość.

Tego rodzaju przypisania nie muszą być ograniczone do dwóch elementów. W PHP taką samą wartość za pomocą jednej instrukcji można nadać dowolnej liczbie zmiennych, np.:


$b = $a = $c = $d = 7;

Ta instrukcja definiuje cztery zmienne, $a, $b, $c i $d, i każdej z nich nadaje wartość 7.

Przypisania wartości zmiennym mogą przybierać nawet skomplikowaną formę, jak w poniższym przykładzie:


$a = 3 + ($b = 5) + 8;

Po wykonaniu tego kodu:

  1. Powstanie zmienna $a o wartości 16.
  2. Powstanie zmienna $b o wartości 5.

Podsumowując dotychczasowe informacje o definiowaniu zmiennych, definicja zmiennej w PHP składa się z nazwy zmiennej poprzedzonej znakiem $, operatora przypisania i wartości. W związku z tym może nasuwać Ci się kilka pytań:

  1. Czy nazwą zmiennej w PHP może być dowolny ciąg znaków?
  2. Czy wartością zmiennej w PHP może być tylko liczba całkowita? Bo zawierają je wszystkie pokazane do tej pory przykłady.
  3. Czy przed operatorem przypisania i za nim musi znajdować się dokładnie jedna spacja, tak jak w przykładach?

Na ostatnie pytanie odpowiem od razu, bardzo krótko — nie. Liczba spacji w tych dwóch miejscach jest dowolna. Wszystkie poniższe przykłady są prawidłowe według zasad języka PHP:


$a   = 7;
$a   =     7;
$a = 7;

Jednak to, co prawidłowe, nie zawsze znaczy dobre. Standardowo operator przypisania od argumentów oddziela się jedną spacją, a więc najlepszym wyborem jest ostatni wiersz w powyższym przykładzie.

Odpowiedzi na dwa pozostałe pytania są trochę dłuższe i znajdują się poniżej. Zaczniemy od zasad nadawania nazw zmiennym w PHP.

Zasady tworzenia nazw zmiennych w PHP

Język PHP jest bardzo pobłażliwy jeśli chodzi o nazwy zmiennych i wyróżnia się pod tym względem na tle innych języków programowania, takich jak choćby C++ czy C#. To nie znaczy oczywiście, że nie istnieją żadne reguły. Formalnie mówiąc, nazwy zmiennych w PHP są identyfikatorami, i muszą spełniać następujące warunki:

  • Nazwa zmiennej w PHP zawsze zaczyna się od znaku dolara ($).
  • Pierwszym znakiem po znaku dolara musi być litera (dozwolone są także polskie znaki typu ś, ź, ć) lub znak podkreślenia (_), potocznie nazywany też podłogą.
  • Na drugim miejscu i dalszych miejscach po znaku dolara mogą znajdować się litery, cyfry i znaki podkreślenia w dowolnej kombinacji.

Wszystkie poniższe przykłady nazw zmiennych są prawidłowe w PHP. Pamiętaj, że wielkość liter w nazwach zmiennych PHP ma znaczenie, a więc $test i $TEST to dwie różne zmienne.


$test
$_test
$TEST
$śnieg
$Wysokość
$heighT

Długość nazwy zmiennej w PHP jest dowolna, a więc może być zarówno jednoliterowa, jak i wielowyrazowa. Ogólna zasada jest taka, aby wybierać nazwy jak najlepiej odnoszące się do tego, co reprezentują. Dla przykładu, zmienna do przechowywania wzrostu osoby może mieć nazwę $height.

zmienne php notacja wielbłądzia wielbłąd

Jeśli nazwa zmiennej zawiera więcej niż jedno słowo, można do niej podejść na różne sposoby. Najważniejsze jest, aby wybrać jedno podejście i konsekwentnie się go trzymać.

Dzięki temu, kiedy będziemy później czytać własny kod lub pokażemy go komuś innemu, łatwiej będzie osobie czytającej rozpoznać nazwy zmiennych wśród nazw innych konstrukcji.

Dwie konwencje nazewnicze, które są najczęściej stosowane przy tworzeniu złożonych nazw zmiennych:

notacjaWielbłądzia
Pierwszy wyraz zaczyna się od małej litery, a każdy kolejny zaczyna się od wielkiej, np.:

$wzrostOsobyDoroslej;
notacja_ze_znakiem_podkreślenia
Wszystkie wyrazy zaczynają się od małej litery i są rozdzielone znakami podkreślenia, np.:

$wzrost_osoby_doroslej;

Dodatkowo należy unikać używania jako nazw zmiennych nazw elementów języka PHP, takich jak na przykład echo i print, choć nie jest to zabronione.

Nazwy zmiennych a słowa kluczowe języka

Język PHP zawiera zestaw zarezerwowanych słów kluczowych, czyli nazw reprezentujących podstawowe składniki jego funkcjonalności. Spośród nich znasz już konstrukcje echo i print, ale jest ich znacznie więcej. Zostały one wymienione w dokumentacji PHP na stronach https://www.php.net/manual/en/reserved.keywords.php i https://www.php.net/manual/en/reserved.other-reserved-words.php.

Tych wszystkich słów kluczowych można używać jako nazw zmiennych w PHP, ale nie powinno się tego robić ze względu na czytelność kodu i ryzyko wystąpienia pomyłek. Wyobraź sobie na przykład taki kod:


$echo = 10;
echo $echo;

Ten kod jest jak najbardziej prawidłowy, ale bardzo łatwo się w nim pogubić i popełnić błąd.

Typy zmiennych w PHP

We wszystkich przykładach kodu pokazanych do tej pory w tym rozdziale wartością zmiennej jest liczba całkowita. Jest to jeden z ośmiu podstawowych typów danych, jakie przyjmują zmienne w PHP. Łącznie z nim w języku tym dostępne są następujące podstawowe typy danych:

  • Liczby całkowite
  • Liczby zmiennoprzecinkowe
  • Łańcuchy
  • Typ logiczny
  • Tablice
  • Obiekty
  • null
  • Zasoby

Cztery pierwsze to skalarne typy danych, czyli takie, które reprezentują pojedynczą wartość, np. jedną liczbę, tekst lub wartość logiczną.

Z kolei tablice i obiekty to złożone typy danych, czyli takie, które mogą przechowywać wiele wartości.

Typ null i zasoby mają natomiast specjalne zastosowanie w pewnych sytuacjach. Przyjrzymy się tym wszystkim typom bliżej.

Liczby całkowite

Liczby całkowite (ang. integer), albo wartości typu całkowitoliczbowego (ang. integer value), to wszystkie wartości liczbowe, które nie mają części ułamkowej.

W PHP temu typowi danych odpowiadają słowa kluczowe int i integer, przy czym to drugie jest tylko aliasem (dodatkową nazwą) pierwszego.

Choć w prawie wszystkich sytuacjach obu tych nazw można używać zamiennie, to lepiej jest wybrać jedną wersję i się jej trzymać. Standard PHP PSR-12 zaleca używać wyłącznie wersji krótkich (np. int) wszystkich nazw mających wersję krótką i długą.

Sprawdzanie, czy zmienna jest typu całkowitoliczbowego

Jeśli chcesz sprawdzić, czy dana wartość, na przykład przesłana z bazy danych, jest liczbą całkowitą, aby wiedzieć, jak ją dalej przetwarzać, to możesz użyć funkcji is_int() (albo jej aliasów is_integer() i is_long()).

Funkcja ta przyjmuje zmienną jako wartość i zwraca informację, czy wartość tej zmiennej jest liczbą całkowitą, czy nie.


$a = 10;
echo is_int($a);

Jeśli wykonasz ten kod, to na stronie zobaczysz cyfrę 1, oznaczającą że przekazany funkcji argument jest liczbą całkowitą.

A dlaczego akurat do tej roli wybrano cyfrę 1? Jest to jedna z reprezentacji wartości logicznej PHP oznaczającej prawdę. Czyli w ten sposób funkcja odpowiada nam „tak” na pytanie — „Czy wartość zmiennej $a jest liczbą całkowitą?”.

Być może właśnie się zastanawiasz, jakie są granice wartości języka PHP. Czy zmiennej można na przykład przypisać wartość dziewięć trylionów (9_000_000_000_000_000_000)? Tak, można, choć nie do końca, bo czasami może się okazać, że nie mamy już zmiennej typu całkowitoliczbowego. Już tłumaczę, o co chodzi.

Zakres wartości typu całkowitoliczbowego

Zakres wartości całkowitoliczbowych w PHP zależy od platformy, np. od tego, czy PHP działa w systemie 32-, czy 64-bitowym. Nie zagłębiając się w nieistotne techniczne szczegóły, można powiedzieć, że zazwyczaj zakres dopuszczalnych wartości całkowitych w PHP mieści się w przedziale:

  • od -2 147 483 648 do 2 147 483 647 w systemach 32-bitowych.
  • od -9 223 372 036 854 775 808 do 9 223 372 036 854 775 807 w systemach 64-bitowych.

A co się stanie, jeśli przekroczymy dopuszczalny zakres wartości? Powiedzmy na przykład, że mamy system 32-bitowy i tworzymy w nim zmienną o wartości 3_000_000_000 (w PHP znaki podkreślenia można stosować, aby zwiększyć czytelność dużych liczb całkowitych, interpreter je ignoruje).

W takiej sytuacji nic szczególnego się nie stanie, tylko PHP zamiast utworzyć zmienną typu całkowitoliczbowego (int) utworzy zmienną typu zmiennoprzecinkowego (opisanego jako następny), który ma szerszy zakres dopuszczalnych wartości.

Wracając więc do pytania postawionego dwa akapity wcześniej, teraz już rozumiesz, dlaczego nie mogłem odpowiedzieć na nie wprost.

Sprawdzanie zakresu wartości typu całkowitoliczbowego

Jeśli chcesz dowiedzieć się, jaki jest dopuszczalny zakres wartości typu całkowitoliczbowego w Twoim systemie, to możesz skorzystać ze specjalnych stałych wbudowanych w PHP (stałe to nazwane wartości, które nie mogą się zmieniać, więcej na ich temat dowiesz się w rozdziale Stałe w PHP).

Dostępne są trzy takie stałe: PHP_INT_MAX, PHP_INT_MIN i PHP_INT_SIZE. Stała PHP_INT_MAX zawiera maksymalną dopuszczalną wartość całkowitoliczbową, stała PHP_INT_MIN — najmniejszą dopuszczalną wartość całkowitoliczbową, a PHP_INT_SIZE — rozmiar stałych całkowitoliczbowych w bajtach.

Aby wyświetlić wartości tych zmiennych, można posłużyć się konstrukcją echo, np.:


echo "PHP_INT_MAX: ", PHP_INT_MAX, "<br>", "PHP_INT_MIN: ", PHP_INT_MIN, "<br>", "PHP_INT_SIZE: ", PHP_INT_SIZE;

W moim 64-bitowym systemie otrzymałem następujący wynik:

PHP_INT_MAX: 9223372036854775807
PHP_INT_MIN: -9223372036854775808
PHP_INT_SIZE: 8

Formaty zapisu liczb całkowitych

Wszystkie wartości liczbowe użyte do tej pory są wyrażone w formacie dziesiętnym, który jest doskonale znany każdemu od wczesnych lat szkoły podstawowej. Oprócz tego w PHP można używać literałów binarnych, ósemkowych i szesnastkowych.

Literał to wartość wpisana bezpośrednio w kod programu. Na przykład dziesiętnymi literałami całkowitoliczbowymi są 10, 7, 6 itd. Te już nie stanowią dla ciebie żadnej tajemnicy, choć być może dopiero teraz dowiedziałeś się, jaka jest ich fachowa nazwa.

Aby utworzyć binarny literał całkowitoliczbowy, czyli przedstawić liczbę binarną w kodzie skryptu PHP, należy przed tą liczbą dodać przedrostek 0b.

Na przykład słynny fizyk i przedziwny człowiek Paul Dirac urodził się w 1902 roku. W formacie binarnym w PHP tę liczbę wyrazilibyśmy tak:


$a = 0b11101101110;

Jeśli chcesz utworzyć ósemkowy (oktalny) literał całkowitoliczbowy, czyli przedstawić liczbę ósemkową w kodzie skryptu PHP, to postaw przed nią przedrostek 0o (albo tylko 0 przed PHP 8.1.0). Na przykład datę urodzin Diraca w formacie ósemkowym w PHP wyrazilibyśmy tak:


$a = 0o3556;

A jeśli potrzebujesz szesnastkowego (heksadecymalnego) literału całkowitoliczbowego, to użyj przedrostka 0x. Nasza przykładowa liczba w tym przypadku wyglądałaby tak:


$a = 76E;

Konwersja między formatami całkowitoliczbowymi

Wszystkie powyższe twierdzenia możesz w łatwy sposób zweryfikować za pomocą zestawu funkcji do konwersji formatów całkowitoliczbowych:

Na przykład poniższa instrukcja konwertuje dziesiętną liczbę całkowitą 2025 na format szesnastkowy i wyświetla wynik na stronie:


echo dechex(2025);

Tyle wiedzy na temat pracy z liczbami całkowitymi na razie w zupełności nam wystarczy. Teraz przyjrzymy się liczbom zmiennoprzecinkowym.

Liczby zmiennoprzecinkowe

Liczby zmiennoprzecinkowe (ang floating point number, double number, real number) to wartości liczbowe z częścią ułamkową (liczby rzeczywiste). Do ich zbioru w PHP zaliczają się także wszystkie liczby całkowite, kiedy zostaną zapisane z kropką i zerem. Poniżej znajduje się kilka przykładowych literałów zmiennoprzecinkowych PHP:


1902.21
175.0
17.123
3.14
6.63E−34

Sprawdzanie, czy zmienna jest typu zmiennoprzecinkowego

Jeśli chcesz sprawdzić, czy dana wartość jest typu zmiennoprzecinkowego, możesz użyć funkcji is_float() (lub jej aliasu is_double() albo is_real()), np.:


var_dump(is_float(3.4));

Wynik:

bool(true)

Zakres wartości typu zmiennoprzecinkowego

Zakres wartości typu zmiennoprzecinkowego, podobnie jak wartości typu całkowitoliczbowego, jest zależny od platformy. W moim 64-bitowym systemie wynosi on od 2,2250738585072E-308 do 1,7976931348623E+308, co można łatwo sprawdzić przy użyciu stałych PHP_FLOAT_MAX (wartość maksymalna) i PHP_FLOAT_MIN (wartość minimalna).

Ponadto za pomocą stałej PHP_FLOAT_EPSILON można sprawdzić możliwie najmniejszą dodatnią wartość zmiennoprzecinkową x, taką że x + 1,0 ≠ 1,0. W moim systemie wynosi ona 2,2204460492503E-16.

Być może w tej chwili zastanawiasz się, co oznaczają te dziwne liczby z literą E w środku. Są to liczby zapisane w notacji naukowej.

Notacja naukowa

zmienne w php naukowiec

Notacja naukowa to specjalny sposób zapisu bardzo dużych albo bardzo małych liczb w zwięzły sposób. Jej ogólna postać jest następująca:

m × E+n

Wzór ten oznacza m razy 10 do potęgi n. M to dowolna liczba, E reprezentuje liczbę dziesięć, a n to potęga, do której ma być podniesiona ta dziesiątka. Na przykład wartość stałej Plancka wynosi 6,6260755E-34, czyli 6,6260755 × 10-34, czyli 0,00000000000000000000000000000000066260755.

W kodzie PHP wyglądałoby to tak:


$planck = 6.6260755E-34;

Parę dodatkowych przykładów:


1.23E5 = 123000
12E-6 = 0.000012
2.3E8 = 230000000

Precyzja wartości zmiennoprzecinkowych

Komputery nie są w stanie precyzyjnie reprezentować wszystkich liczb zmiennoprzecinkowych, poza tym niektóre liczby mające dokładną reprezentację w systemie dziesiętnym nie dadzą się precyzyjnie wyrazić w formacie binarnym.

Z tego powodu czasami stosowane są wartości przybliżone. Na razie nie musisz się tym przejmować, ale warto o tym pamiętać, aby wiedzieć, skąd czasami biorą się zaskakujące wyniki. Spójrz na poniższy przykład:


echo var_dump(0.1 + 0.1 + 0.1 == 0.3);

Ta instrukcja oblicza sumę trzech wartości 0.1 i porównuje ją z wartością 0.3 (za pomocą operatora porównywania, który wkrótce poznasz). Pewnie się spodziewasz, że wartości te będą równe. A jednak funkcja var_dump() zwróci następujący wynik:

bool(false)

Ten wynik oznacza fałsz, a więc zdaniem PHP 0,1 + 0,1 + 0,1 nie jest równe 0,3… Należy pamiętać o takich niuansach podczas pracy z liczbami zmiennoprzecinkowymi. W dalszych rozdziałach poznasz sposoby radzenia sobie z tymi niedokładnościami.

łańcuchy php variable zmienne w php

Łańcuchy

Łańcuch (ang. string) to najczęściej ciąg znaków w pojedynczym lub podwójnym cudzysłowie prostym, np.:


"Witaj, świecie!"
'Witaj, świecie!'

Ponadto w PHP istnieją jeszcze składnie łańcuchów znaków heredoc i nowdoc, których opis znajduje się w rozdziale w całości poświęconym łańcuchom PHP. Tutaj skupimy się tylko na tych dwóch pierwszych.

Jeśli zastanawiasz się, czy jest jakaś różnica między tymi dwoma rodzajami łańcuchów (w pojedynczym i podwójnym cudzysłowie), to odpowiedź brzmi „tak” i wiąże się z tajemniczo brzmiącym pojęciem o nazwie interpolacja zmiennych.

Mówiąc bardzo krótko i niezrozumiale, w cudzysłowach pojedynczych zmienne nie są interpolowane, a w cudzysłowach podwójnych zmienne są interpolowane. Co to oznacza? Tak naprawdę to banalnie proste.

Jeśli w łańcuchu w podwójnym cudzysłowie wpiszesz nazwę zmiennej, to zostanie ona zastąpiona jej wartością (ten proces właśnie nazywa się interpolacją).

W łańcuchu w pojedynczym cudzysłowie tak się nie stanie. Nazwa zmiennej zostanie potraktowana jak zwykły tekst, np.:


$wiekBabci = 76;
echo "Moja babcia ma $wiekBabci lat.
"; echo 'Moja babcia ma $wiekBabci lat.';

Wynik wykonania tego kodu:

Moja babcia ma 76 lat.
Moja babcia ma $wiekBabci lat.

Sposób traktowania zmiennych to nie jedyna istotna różnica między tymi dwoma typami łańcuchów, ale na razie to nam wystarczy. Więcej na ten temat dowiesz się w dalszym rozdziale, który w całości jest poświęcony łańcuchom znaków.

Teraz natomiast pokażę ci, jak się upewnić, że zmienna jest typu łańcuchowego, a nie jakiegoś innego.

Sprawdzanie, czy zmienna jest typu łańcuchowego

Aby dowiedzieć się, czy zmienna jest typu łańcuchowego, można użyć funkcji is_string(). Pobiera ona zmienną i zwraca wartość logiczną oznaczającą prawdę lub fałsz, zależnie od tego, czy wartość tej zmiennej jest, czy nie jest łańcuchem, np.:


$a = "tekst";
var_dump(is_string($a));

Wynik:

bool(true)

Ten wynik oznacza, że zmienna $a jest typu łańcuchowego. A jeśli masz już dość patrzenia na bool, nie wiedząc do końca, co to jest, to mam dobrą wiadomość — właśnie przechodzimy do typu logicznego.

Typ logiczny

Typ logiczny (bool) jest bardzo prosty, ponieważ obejmuje tylko dwie wartości: true (prawda) i false (fałsz). Wartości te najczęściej są wykorzystywane w instrukcjach warunkowych PHP, które poznasz w dalszym rozdziale.

Aby nadać zmiennej wartość logiczną, wystarczy przypisać jej słowo kluczowe true lub false, np.:


$a = true;
var_dump($a);

Wynik:

bool(true)

Wartości true i false są stałymi, więc wielkość liter w ich nazwach nie ma znaczenia. Wszystkie poniższe zapisy są poprawne, ale zalecane jest używanie wersji pisanej samymi małymi literami.


True
falsE
FaLsE
TRUE
FALSE

Konwersja wartości na typ logiczny

Oprócz tego w kontekście logicznym (na przykład w instrukcjach warunkowych) PHP jako wartości logiczne interpretuje wszystkie przekazywane wartości. Niektóre z nich traktuje jako sygnał fałszu (false). Oto ich lista:

  • Słowo kluczowe false
  • Liczba całkowita 0
  • Liczby zmiennoprzecinkowe 0.0 i -0.0
  • Pusty łańcuch ('') i łańcuch "0"
  • Wartość null
  • Pusta tablica
  • Zmienna bez ustawionej wartości lub „zlikwidowana” przez funkcję unset()

Każda inna wartość w kontekście logicznym zostanie zinterpretowana przez PHP jako prawda (true).

Sprawdzanie, czy zmienna jest typu logicznego

Aby sprawdzić, czy dana wartość jest typu logicznego, można użyć funkcji is_bool(), np.:


$a = false;
echo is_bool($a); // Wynik: 1

Wartość wynikowa 1 oznacza prawdę, czyli w tym przypadku oznacza, że zmienna $a jest typu logicznego.

Funkcja is_bool() zwraca wartość 1 na znak prawdy oraz nic nie zwraca na znak fałszu. Dlatego w razie potrzeby możesz posłużyć się opisaną wcześniej funkcją var_dump(), która zwraca pełne informacje o typie i wartości.

Typ logiczny to ostatni typ z grupy skalarnych w PHP. Teraz poznasz pierwszy typ złożony — tablicę.

Tablice

Tablica to struktura danych służąca do przechowywania wielu wartości w jednej zmiennej, dlatego zalicza się do grupy typów złożonych. W PHP dostępnych jest kilka rodzajów tablic, które zostaną szczegółowo opisane w jednym z dalszych rozdziałów.

Tutaj dla przykładu pokażę tylko najprostszy rodzaj tablicy, czyli tablicę indeksowaną numerycznie. Wartości przechowywane w takiej strukturze są po prostu numerowane od 0 i można się do nich odnosić za pomocą odpowiadających im numerów.

Aby utworzyć tablicę indeksowaną numerycznie, można posłużyć się konstrukcją językową array(), np.:


$fizycy = array("Heisenberg", "Dirac", "Feynman", "Fermi");

Tablica $fizycy zawiera cztery elementy, ponumerowane od 0 (Heisenberg) do 3 (Fermi).

Aby sprawdzić, ile elementów zawiera tablica, można użyć funkcji PHP count(), np.:


echo count($fizycy);

W wyniku otrzymamy wartość 4.

Aby pobrać wartość o określonym indeksie (w tablicach numery elementów nazywają się indeksami), można użyć nawiasu prostokątnego, np.:


echo $fizycy[1];

Wynik: Dirac.

Pamiętaj, że indeksowanie elementów w tablicach zaczyna się od zera, w związku z czym element o indeksie 1 to tak naprawdę drugi element tablicy.

Sprawdzanie, czy zmienna jest typu tablicowego

Aby dowiedzieć się, czy zmienna reprezentuje tablicę, można użyć funkcji PHP is_array(), np.:


$fizycy = array("Heisenberg", "Dirac", "Feynman", "Fermi");
var_dump(is_array($fizycy));

Wynik: bool(true).

Tablice mają wiele zastosowań i są niezwykle ważną strukturą danych. Dlatego później poświęcimy im cały rozdział, a na razie zadowolimy się tymi podstawowymi wiadomościami i przejdziemy do obiektów.

Obiekty

Obiekty to specjalne struktury tworzone na podstawie klas, które w uproszczeniu można opisać jako szablony do tworzenia obiektów.

Klasy zaliczają się do typów zdefiniowanych przez użytkownika i stanowią fundament techniki programowania o nazwie programowanie obiektowe. Jest to na tyle szeroki temat, że poświęcimy mu później kilka rozdziałów.

Tutaj pokażę Ci tylko, jak napisać bardzo prostą klasę i jak na jej podstawie utworzyć obiekt. Nie jest to kompletny przykład klasy nadającej się do rzeczywistego użytku, ale na jego podstawie można się z grubsza zorientować, czym są klasy i obiekty.

Składnia definicji klasy jest bardzo prosta. Należy napisać słowo kluczowe class, po nim należy podać wybraną przez siebie nazwę klasy, a następnie należy wpisać jej właściwy kod w klamrze, np.:


class Computer {

}

Tak wygląda pusty szkielet klasy w PHP. W klamrze wpiszemy jej zawartość. Będzie to klasa reprezentująca komputer. Spójrz na poniższy kod:

class Computer {
  
  private $cpu;
  
  function set_cpu($cpu) {
    $this−>cpu = $cpu;
  }

  function get_cpu() {
    return $this->cpu;
  }
}

$komputer = new Computer;
$komputer -> set_cpu("Ryzen");
echo $komputer -> get_cpu();

W 1. wierszu definiujemy klasę o nazwie Computer. W wierszu nr 3. definiujemy własność (zmienną w klasie) o nazwie $cpu. Słowo kluczowe private oznacza, że kiedy utworzymy obiekt, to własności tej nie będzie można zmodyfikować w żaden inny sposób niż za pomocą funkcji z tej klasy.

W wierszu 5. definiujemy metodę dostępową (w klasach funkcje nazywa się metodami) do własności $cpu. Metoda ta ustawia jej wartość.

W wierszu 9. definiujemy drugą metodę dostępową, która zwraca wartość własności $cpu.

Podsumowując, metoda set_cpu() służy do ustawiania wartości własności $cpu, a metoda get_cpu() służy do jej pobierania. Słowo kluczowe $this oznacza, że chodzi o elementy z wnętrza tej klasy.

Teraz przeanalizujemy trzy ostatnie wiersze kodu, które znajdują się już poza klasą. Najpierw tworzymy obiekt klasy (typu) Computer.


$komputer = new Computer;

Za pomocą metody set_cpu() ustawiamy rodzaj procesora naszego komputera na Ryzen:


$komputer -> set_cpu("Ryzen");

Sprawdzamy, czy procesor rzeczywiście został ustawiony, wyświetlając na ekranie wartość zwracaną przez metodę get_cpu():


echo $komputer -> get_cpu();

Tak wygląda bardzo prosta definicja klasy, z której da się utworzyć działający obiekt. Pamiętaj jednak, że na razie dotknęliśmy tylko samego czubka wierzchołka góry lodowej, jeśli chodzi o wiedzę na temat programowania obiektowego w PHP.

Sprawdzanie, czy wartość zmiennej jest obiektem

Aby sprawdzić, czy zmienna reprezentuje obiekt klasy, można użyć funkcji PHP is_object(), np.:


$komputer = new Computer;
var_dump(is_object($komputer));

Wynik: bool(true).

Typ null

null to specjalny typ, który ma tylko jedną wartość: stałą null, której nazwę można zapisywać literami dowolnej wielkości, np. NuLL, NULL, nuLL, null itd.

Aby utworzyć zmienną tego typu, wystarczy napisać:


$a = null;

Wartość null reprezentuje brak wartości w zmiennej. W takim stanie są zmienne, którym bezpośrednio przypisano wartość null, jak w powyższym przykładzie, a także zmienne, które usunięto za pomocą funkcji PHP unset():


$a = "tekst";
unset($a); // null

Sprawdzanie, czy zmienna jest typu null

Aby sprawdzić, czy zmienna jest null, można użyć funkcji PHP is_null(), która zwraca prawdę (wartość 1), jeśli tak i fałsz (nic) w przeciwnym przypadku, np.:


$a = null;
echo is_null($a);

W wyniku otrzymamy wartość 1.

Zasoby

Zasoby to specjalne zmienne, w których są przechowywane odwołania do funkcji i innych zasobów z poza PHP. Zasobami takimi mogą być na przykład uchwyty do otwartych plików, czy połączenia z bazą danych.

Na razie nie będziemy zajmować się zasobami, ale kiedyś przyjdzie pora, aby bliżej zaprzyjaźnić się także z nimi.

Typ mieszany — mixed

Typ mieszany mixed (wprowadzony w PHP 8.0.0) jest używany w dokumentacji PHP do zaznaczania, że dana konstrukcja (np. funkcja albo metoda) przyjmuje wartość dowolnego typu, czyli: object, resource, array, string, float, int, bool lub null.

Na przykład w dokumentacji konstrukcji językowej PHP array() znajduje się jej prototyp o następującej postaci:


array(mixed ...$values): array

Z tego prototypu wynika, że konstrukcja array() przyjmuje dowolny z podstawowych typów danych PHP oraz że zwraca tablicę.

Zakres dostępności zmiennych w PHP

Każda zmienna w PHP ma określony zakres dostępności (ang. scope), czyli może być używana w konkretnych kontekstach. W PHP istnieją trzy zakresy dostępności zmiennych:

  • globalny (ang. global scope),
  • lokalny (ang. local scope),
  • statyczny (ang. static scope).

Globalny i lokalny zakres dostępności zmiennych

php zmienne globalne

Jeśli zmienna zostanie zadeklarowana w dowolnym miejscu w skrypcie, które nie jest wnętrzem funkcji , to jest ona dostępna w zakresie globalnym. Oznacza to, że można jej używać wszędzie, tylko nie w definicjach funkcji.

Jeśli natomiast zmienna zostanie zadeklarowana w funkcji, to jest ona dostępna w zakresie lokalnym, czyli można jej używać tylko w tej funkcji, w której ją zadeklarowano.

Jeśli zmienna znajduje się w zakresie globalnym i chcemy jej użyć w funkcji, to możemy to zrobić dzięki słowu kluczowemu PHP global. Należy je wstawić przed nazwą zmiennej, aby zasygnalizować, że będziemy z niej korzystać, np.:


$liczba = 10;

function testowa_funkcja() {
    global $liczba;
    echo "Liczba to $liczba";
}
testowa_funkcja();

Wynik: Liczba to 10.

Statyczny zakres dostępności zmiennych

Kiedy funkcja zakończy działanie, to normalnie wszystkie zdefiniowane w niej zmienne zostają usunięte z pamięci, aby jej niepotrzebnie nie obciążać.

Czasami jednak trzeba przetrzymać zmienną między wywołaniami funkcji, aby móc jej użyć powtórnie. Takie zmienne należy oznaczać słowem kluczowym static, np.:


function testowa_funkcja() {
    static $liczba;
    $liczba = $liczba + 10;
    echo "Liczba to: $liczba<br>";
}
testowa_funkcja();
testowa_funkcja();

Zmienna $liczba w tej definicji funkcji ma statyczny zakres dostępności, co oznacza, że kiedy funkcja przestanie działać, zmienna ta nadal będzie istnieć.

To oznacza, że po pierwszym wywołaniu funkcji testowa_funkcja() zmienna $liczba będzie miała wartość 10, po drugim 20 itd. Wynik działania powyższego kodu jest następujący:

Liczba to: 10
Liczba to: 20

Zwróć uwagę, że przy okazji poznałeś podstawową technikę definiowania funkcji. Więcej na ten temat dowiesz się w rozdziale poświęconym definiowaniu funkcji w PHP.

A teraz chciałbym Ci przedstawić jeszcze jeden rodzaj zmiennych, które mogą Ci się kiedyś przydać.

Zmienne superglobalne PHP

Jak się zapewne zorientowałeś w poprzedniej sekcji, zmienne globalne w PHP wcale nie są takie całkiem globalne, ponieważ w funkcjach normalnie są niedostępne.

Co innego można powiedzieć o zmiennych superglobalnych PHP. Są one wbudowane w język PHP i są dostępne we wszystkich zakresach dostępności w całym skrypcie.

Zmienne superglobalne PHP:

  • $GLOBALS — tablica odnosząca się do wszystkich zmiennych globalnych, jest jak podrasowane słowo kluczowe global, które daje dostęp do zmiennych globalnych w funkcjach
  • $_SERVER — tablica zmiennych serwera i środowiska wykonawczego
  • $_REQUEST — tablica wszystkich danych przekazanych przez użytkownika
  • $_POST — tablica zmiennych przekazanych do skryptu przez metodę HTTP POST
  • $_GET — tablica zmiennych przekazanych do skryptu przez metodę HTTP GET
  • $_FILES — tablica zmiennych dotyczących przesyłanych plików
  • $_ENV — tablica zmiennych środowiskowych
  • $_COOKIE — tablica zmiennych ciasteczek
  • $_SESSION — tablica zmiennych sesji

Większość z tych zmiennych zawiera dane, którymi jeszcze nie umiesz się posługiwać, ale nie masz powodu do zmartwień. Z czasem wszystko stanie się jasne. Przy odpowiednich okazjach będę Ci je przypominać i dokładnie objaśniać, jak się z nimi obchodzić.

Teraz natomiast przejdziemy do tematu, który na razie tylko zasygnalizuję, a który stanie się bardziej istotny w rozdziale na temat definiowania własnych funkcji. Chodzi o specjalną konstrukcję zwaną referencją do zmiennej.

Referencje do zmiennych w PHP

Można powiedzieć, że zmienna w PHP jest obiektem dwuskładnikowym — ma nazwę i wartość, które są od siebie całkowicie niezależne.

To trochę jak z ludźmi. Każdy człowiek ma imię, ale służy ono tylko do tego, aby można było się do tej osoby jakoś zwracać. Niemniej jednak imię i osoba to byty całkowicie od siebie niezależne.

Tak jak w prawdziwym życiu wołamy „Marcin!”, żeby zwrócić się do Marcina, w świecie programowania wołamy na przykład „$wiek”, aby odwołać się do porcji danych przechowywanych w pamięci komputera.

A teraz wyobraź sobie, że Marcinowi ktoś nadał ksywkę, np. Młody. Teraz Marcin będzie reagował zarówno na dźwięk swojego imienia, jak i na dźwięk tej ksywki. Dokładnie tak samo jest ze zmiennymi w PHP. Każdej wartości przechowywanej w pamięci można nadać więcej niż jedną nazwę.

Jak to zrobić? Należy użyć operatora referencji (&) w połączeniu z operatorem przypisania (=). Spójrz na poniższy przykład:


$a = 10;
$b =& $a;

Od tej pory wartość 10 (osoba z naszej analogii) ma dwie nazwy (imię i ksywkę wg naszej analogii) — $a i $b. Możemy się do niej odwoływać za pomocą dowolnej z nich. Jeśli coś zmienimy przy użyciu nazwy $a, to zmiana ta zostanie zarejestrowana w pewnym obszarze pamięci, do którego odwołuje się też nazwa $b. W efekcie nazwa $b również będzie odnosić się do zmienionej wartości, np.:


$a = 10;
echo 'Wartość $a: ', "$a<br>";
$b =& $a;
echo 'Wartość $b: ', "$b<br>";
$b = 12;
echo 'Wartość $a po zmianie przez $b: ', "$a<br>";

Wynik:

Wartość $a: 10
Wartość $b: 10
Wartość $a po zmianie przez $b: 12

Jak widać, nazwy $a i $b zaglądają do tego samego pudełka w pamięci, ale nie są z nim tożsame.

Gdybyśmy w powyższym przykładzie użyli zwykłego operatora przypisania, to po prostu skopiowalibyśmy wartość z pudełka zmiennej $a do pudełka utworzonego dla zmiennej $b. W efekcie mielibyśmy dwa pudełka z taką samą, ale nie tą samą, wartością.

Referencji do zmiennych najczęściej używa się w definicjach funkcji do przekazywania parametrów i zwracania wartości, zwłaszcza gdy są bardzo duże. Wtedy pozwalają one uniknąć czasochłonnego kopiowania.

Czasami bywa też tak, że potrzebujemy referencji do zmiennej przez pewien czas, ale potem z jakiegoś powodu chcemy się jej pozbyć, aby na przykład nam nie przeszkadzała i nie zagrażała popełnieniem pomyłki. Do tego celu możemy użyć funkcji unset():


unset($b);

Teraz zmienna, a dokładniej nazwa zmiennej, $a nie odwołuje się już do żadnego obszaru w pamięci, jest null.

Zmienne o zmiennych nazwach

W języku PHP można tworzyć tzw. zmienne o zmiennych nazwach (ang. variable variable name), które przydają się w sytuacjach, gdy trzeba dynamicznie tworzyć nazwy zmiennych.

Ogólnie koncepcja ta jest bardzo prosta. Jeśli utworzymy zmienną o wartości łańcuchowej, to następnie z tej wartości możemy utworzyć nazwę kolejnej zmiennej. Spójrz na poniższy przykład:


$a = "tekst";
$$a = "jakiś inny tekst";
echo $tekst;

Wynik: jakiś inny tekst.

W tym przykładzie utworzyliśmy zmienną $a o wartości łańcuchowej "tekst", a następnie za pomocą składni $$ utworzyliśmy drugą zmienną o nazwie utworzonej z wartości zmiennej $a. Na koniec wyświetliliśmy wartość zmiennej $tekst.

Różne operacje na zmiennych

W tej sekcji przedstawiam w zwięzłej formie tabelarycznej zbiór różnych standardowych funkcji i innych operacji PHP do pracy ze zmiennymi. Kliknij nazwę wybranej funkcji, aby przejść do strony ze szczegółowym opisem.

Sprawdzanie i ustawianie typu zmiennej w PHP

Tabela 1. Sprawdzanie i ustawianie typu zmiennej w PHP
FunkcjaOpis
is_scalar()Sprawdza, czy wartość zmiennej jest skalarna, a więc typu całkowitoliczbowego, zmiennoprzecinkowego, logicznego lub łańcuchowego, i zwraca wartość logiczną. Prawda oznacza, że wartość jest skalarna
is_numeric()Sprawdza, czy wartość zmiennej jest jakąkolwiek liczbą lub łańcuchem, który można zinterpretować jako liczbę, i zwraca wartość logiczną. Prawda oznacza, że wartość jest liczbowa
gettype()Sprawdza typ zmiennej i go zwraca
settype()Konwertuje wartość zmiennej na określony typ
print_r()Drukuje wartość zmiennej w formacie zrozumiałym dla człowieka
intval()Zwraca wartość całkowitoliczbową z podanej wartości
floatval()Zwraca wartość zmiennoprzecinkową z podanej wartości
strval()Zwraca wartość łańcuchową z podanej wartości
boolval()Zwraca wartość logiczną z podanej wartości

Sprawdzanie i ustawianie stanu zmiennej w PHP

Tabela 2. Sprawdzanie i ustawianie stanu zmiennej w PHP
FunkcjaOpis
isset()Sprawdza czy zmienna jest ustawiona (istnieje), czyli czy jest zdefiniowana i nie ma wartości null
empty()Sprawdza, czy zmienna jest pusta, czyli czy nie ma wartości lub czy ma wartość null
unset()Usuwa definicję zmiennej

Rzutowanie typów zmiennych w PHP

W PHP rzadko konieczne jest rzutowanie typów zmiennych, ponieważ konwersje odbywają się automatycznie. Jeśli jednak zechcesz mieć pewność, że zostanie wykonana dokładnie taka operacja, o jaką Ci chodzi, to w tej tabeli znajdziesz listę dostępnych operacji.

Tabela 3. Rzutowanie zmiennych w PHP
OperacjaOpis
(string)Konwersja na typ string
(int)Konwersja na typ int
(float)Konwersja na typ float
(bool)Konwersja na typ bool
(array)Konwersja na typ tablicowy
(object)Konwersja na typ obiektowy
(unset)Konwersja na typ null

Kontrola typów w PHP

Na zakończenie tego rozdziału dodam szczyptę teorii, której znajomość może nie jest absolutnie niezbędna, ale która ułatwia zrozumienie sposobu działania PHP oraz obsługi typów i zmiennych przez ten język.

Przede wszystkim należy pamiętać, że PHP jest językiem typowanym dynamicznie o luźnej kontroli typów. Co to oznacza? Czytaj dalej, jeśli chcesz się dowiedzieć.

PHP to język typowany dynamicznie

Typowanie dynamiczne (nazywane też typizowaniem dynamicznym — ang. dynamic typing) to metoda kontroli typów w języku programowania, która polega na tym, że typy danych (zmiennych) są sprawdzane w czasie działania programu (dynamicznie), a nie podczas kompilacji (czyli statycznie).

Jakie są tego konsekwencje? Jeśli przyjrzysz się wszystkim pokazanym do tej pory przykładom kodu, to zauważysz, że w żadnym z nich nie ma jakiejkolwiek konstrukcji, która wprost określałaby typ danych przechowywanych w zmiennej.

To znaczy, że programista nie musi wprost określać typów zmiennych, ponieważ są one dynamicznie nadawane przez interpreter PHP na podstawie wartości.

Typowanie dynamiczne w PHP (jak i dowolnym innym języku programowania) ma wiele zalet, ale ma też wady.

Z jednej strony ułatwia pracę programisty, uwalniając go od konieczności określania typów wszystkich zmiennych.

Z drugiej strony stwarza większe ryzyko powstania pomyłek związanych z typami, ponieważ typy zmiennych mogą się dynamicznie zmieniać, przez co programista może mieć trudności z zapanowaniem nad nimi.

PHP to język o luźnej kontroli typów

Luźna kontrola typów (ang. weak typing), zwana też słabą kontrolą typów (ang. weak typing) oznacza, że system typów języka jest mało restrykcyjny w kwestii egzekwowania zasad dotyczących używania typów.

W efekcie programista może mieszać wartości różnych typów, a system będzie próbował dokonać automatycznych konwersji, aby wykonać zaprogramowane operacje. Na przykład w PHP pod pewnymi warunkami można mieszać wartości liczbowe z łańcuchami:


echo 10 + "1";

Kiedy PHP napotka taki kod, to wykona dodawania tak, jakby to były dwie liczby. W językach o ścisłej kontroli typów (ang. strongly typed), takich jak na przykład C++, wykonanie takiej operacji byłoby niemożliwe. Kompilator C++ zgłosiłby błąd dotyczący niezgodności typów argumentów działania.

Zaletą luźnej kontroli typów jest swoboda programisty i ułatwienie jego pracy przez automatyczne konwersje.

Z kolei wadą luźnej kontroli typów jest między innymi zwiększone ryzyko popełnienia błędów związanych z typami, na przykład kiedy automatyczna konwersja okaże się nietrafiona. Ponadto w kodzie napisanym w językach o luźnej kontroli typów często trudniej jest odnaleźć przyczynę problemów.

Myślę, że tyle wiedzy na temat zmiennych, typów danych i kontroli wystarczy. Pora na podsumowanie i wykonanie paru ćwiczeń.

W następnym rozdziale dla odmiany opowiem ci o stałych w PHP. To będzie znacznie lżejszy temat, w sam raz na odprężenie po tym worku wiedzy.

Podsumowanie

Tygrys podsumowania
  1. Zmienne w PHP służą do przechowywania danych.
  2. Deklaracja zmiennej tylko ją tworzy, ale nie nadaje jej wartości.
  3. Definicja zmiennej tworzy zmienną i nadaje jej wartość.
  4. Wartość zmiennej przypisuje się za pomocą operatora przypisania, którym jest pojedynczy znak równości.
  5. Nazwa zmiennej w PHP zawsze zaczyna się od znaku dolara ($).
  6. Pierwszym znakiem po znaku dolara musi być litera lub znak podkreślenia.
  7. Na drugim miejscu i dalszych miejscach po znaku dolara mogą znajdować się litery, cyfry i znaki podkreślenia w dowolnej kombinacji.
  8. Nazwa zmiennej w PHP może mieć dowolną długość.
  9. Najczęściej nazwy zmiennych są zapisywane w notacjiWielbłądziej.
  10. W nazwach zmiennych wielkość liter ma znaczenie.
  11. Słów kluczowych PHP można używać jako zmiennych, ale nie powinno się z tej możliwości korzystać.
  12. W PHP jest 8 podstawowych typów danych.
  13. Typ integer reprezentuje liczby całkowite.
  14. Typ float reprezentuje liczby zmiennoprzecinkowe.
  15. Typ string reprezentuje łańcuchy znaków.
  16. Typ bool reprezentuje wartości logiczne.
  17. Typ array reprezentuje tablice.
  18. Typ object reprezentuje obiekty.
  19. Typ null reprezentuje brak wartości.
  20. Typy skalarne reprezentują pojedyncze wartości.
  21. Tablice i obiekty to złożone typy danych.
  22. Literał to wartość bezpośrednio wpisana w kod programu.
  23. Liczby całkowite w PHP można wyrażać w formacie binarnym, ósemkowym, dziesiętnym i szesnastkowym.
  24. Łańcuchy można zapisywać w pojedynczym lub podwójnym cudzysłowie.
  25. Zmienne w podwójnym cudzysłowie są interpolowane.
  26. Tablica to struktura danych do przechowywania wielu wartości.
  27. Klasa to w uproszczeniu szablon do tworzenia obiektów.
  28. Zmienne w PHP występują w trzech zakresach dostępności: globalnym, lokalnym i statycznym.
  29. W PHP istnieje grupa zmiennych superglobalnych, które są dostępne w każdym kontekście.
  30. Referencja do zmiennej to odwołanie do zmiennej za pomocą dodatkowej nazwy.
  31. PHP to język typowany dynamicznie.
  32. PHP to język o luźnej kontroli typów.


Rozmawiający mężczyźni

Pytania

  1. Czym są zmienne w PHP?
  2. Czym jest deklaracja zmiennej?
  3. Czym jest definicja?
  4. Jak przypisuje się wartość zmiennej w PHP?
  5. Jakie są zasady tworzenia nazw zmiennych w PHP?
  6. Jaki rodzaj notacji stosuje się najczęściej przy nadawaniu nazw zmiennym w PHP?
  7. Jakie są typy skalarne w PHP?
  8. Jakie są typy złożone w PHP?
  9. Czym jest null w PHP?
  10. Czym są tablice?
  11. Czym jest literał?
  12. W jakich formatach można wyrażać literały całkowitoliczbowe w PHP?
  13. Jak można sprawdzić czy wartość jest liczbą całkowitą w PHP?
  14. Jak można sprawdzić czy wartość jest liczbą zmiennoprzecinkową w PHP?
  15. Jak można sprawdzić czy wartość jest łańcuchem w PHP?
  16. Jak można sprawdzić czy wartość jest wartością logiczną w PHP?
  17. Jak można sprawdzić czy wartość jest tablicą w PHP?
  18. Jak można sprawdzić czy wartość jest obiektem w PHP?
  19. W jaki sposób można zapisywać łańcuchy w PHP?
  20. Czym różnią się dwie podstawowe formy zapisu łańcuchów w PHP?
  21. Jakie zakresy dostępności zmiennych wyróżnia się w PHP?
  22. Czym są zmienne superglobalne w PHP?
  23. Czym jest referencja do zmiennej?
  24. Czym jest klasa?
  25. Jak sprawdzić typ zmiennej w PHP?
  26. Jak sprawdzić, czy zmienna istnieje w PHP?
  27. Co to znaczy, że język PHP jest typowany dynamicznie?
  28. Co to znaczy, że język PHP ma luźną kontrolę typów?


Ćwiczące dzieci

Ćwiczenia

  1. Zdefiniuj po jednej zmiennej następujących typów: całkowitoliczbowego, zmiennoprzecinkowego, logicznego, łańcuchowego i tablicowego. Każdej nadaj dowolną prawidłową wartość i nazwę złożoną z przynajmniej dwóch słów.
  2. Za pomocą odpowiednich funkcji upewnij się, że każda z twoich zmiennych jest takiego typu, jakiego się spodziewasz.
  3. Wyświetl wszystkie swoje zmienne za pomocą funkcji var_dump().
  4. Sprawdź zakresy wartości typów całkowitoliczbowego i zmiennoprzecinkowego w swoim systemie.
  5. Francuski fizyk André Ampère urodził się w 1775 roku. Za pomocą odpowiednich funkcji PHP przekonwertuj i wyświetl tę liczbą na stronie w formatach binarnym, oktalnym i heksadecymalnym.
  6. Przedstaw w notacji naukowej poniższe liczby i zapisz je w zmiennych PHP:
    1. 37,2 biliona (3,72×1013)
    2. 602 tryliardy (6,022×1023)
    3. 602215150000000000000000 (6.0221515 x 10^23)
  7. Utwórz zmienną łańcuchową o następującej treści: Dziś jest x dzień roku. W miejsce x wstaw zmienną liczbową reprezentującą numer dnia roku.
  8. Utwórz tablicę indeksowaną numerycznie, zawierającą następujące elementy: PHP, HTML, JavaScript, CSS.
  9. Wyświetl po kolei wartość każdego elementu z tablicy z poprzedniego ćwiczenia w miejsce x w łańcuchu: Do tworzenia stron internetowych przydaje się znajomość x.
  10. Utwórz zmienną o nazwie $test o wartości "test", a następnie utwórz do niej referencję o dowolnej nazwie, zmień jej wartość, po czym ją wyświetl.

Podobał Ci się ten artykuł?

Oceń go!

Średnia 5 / 5. Liczba głosów: 4

Jeszcze nikt nie głosował. Wyprzedź innych i zagłosuj.

Skoro spodobał Ci się ten artykuł...

Poleć go znajomym!

Ojej :( Powiedz nam, co powinniśmy poprawić!

Podoba Ci się ta strona?

Pomóż nam się rozwijać, wykupując płatne konto. Dzięki temu będziemy mogli tworzyć dla Ciebie jeszcze więcej ciekawych treści, a Ty pozbędziesz się reklam.

Subskrybuj
Powiadom o
guest

0 Komentarze
Najstarsze
Najnowsze Najwięcej głosów
Opinie w linii
Zobacz wszystkie komentarze
0
Chętnie poznam Twoje przemyślenia, skomentuj.x