Przegląd typów danych PHP
Poznanie napisów, liczb całkowitych, liczb zmiennoprzecinkowych, wartości logicznych i NULL w PHP.
Przegląd typów danych PHP to bezpłatna lekcja PHP Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej PHP Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs PHP Academy zawiera 4 lekcji w sumie.
Podstawowe typy danych w PHP
PHP obsługuje cztery typy skal nebul i kilka typów złożonych/specjalnych:
- Skalarne: string, int, float, bool
- Złożone: array, object
- Specjalne: NULL, resource
PHP automatycznie wybiera typ na podstawie kontekstu — nazywa się to żonglowaniem typami.
Ciągi znaków
Ciągi znaków przechowują tekst. Używaj pojedynczych lub podwójnych cudzysłowów:
<?php
$single = 'Hello World'; // single — no variable parsing
$name = 'PHP';
$double = "Hello $name"; // double — variables are interpolated
echo $double; // Hello PHP
echo strlen($single); // 11Liczby całkowite i zmiennoprzecinkowe
Liczby całkowite w PHP nie mają części ułamkowej, a liczby zmiennoprzecinkowe (double) przechowują wartości dziesiętne:
<?php
$count = 42; // int
$neg = -7; // negative int
$hex = 0x1A; // hexadecimal = 26
$price = 19.99; // float
$sci = 1.5e3; // scientific = 1500.0
echo PHP_INT_MAX; // largest integer on this platform
echo PHP_FLOAT_MAX; // largest floatWartości logiczne
Wartość logiczna to true albo false. PHP ocenia wiele wartości jako prawdziwe lub fałszywe:
- Fałszywe: false, 0, 0.0, '', '0', [], NULL
- Prawdziwe: wszystkie pozostałe
<?php
$isActive = true;
$isDone = false;
if ($isActive) {
echo 'Active'; // runs
}
var_dump((bool) ''); // bool(false)
var_dump((bool) 'hi'); // bool(true)NULL
NULL oznacza zamierzony brak wartości:
- Zmienna ma wartość NULL, jeśli przypisano jej NULL, nigdy jej nie przypisano lub została usunięta
- Użyj
is_null($var)lub=== null, aby sprawdzić, czy zmienna ma wartość NULL
<?php
$nothing = null;
var_dump(is_null($nothing)); // bool(true)
var_dump($nothing === null); // bool(true)
var_dump($nothing == false); // bool(true) — loose comparisonTablice jako typ
Tablice w PHP mogą przechowywać wartości różnych typów i używać kluczy całkowitych lub tekstowych:
<?php
$mixed = [42, 'hello', true, null];
$map = ['name' => 'Alice', 'age' => 30];
echo gettype($mixed); // array
echo count($mixed); // 4
echo $map['name']; // AliceFunkcje sprawdzające typy
PHP udostępnia funkcje is_* do sprawdzania typów w czasie wykonywania programu:
<?php
$val = 3.14;
var_dump(is_int($val)); // bool(false)
var_dump(is_float($val)); // bool(true)
var_dump(is_string($val)); // bool(false)
var_dump(is_numeric('42')); // bool(true) — string that looks like a numberDeklaracja ścisłych typów
PHP 7+ pozwala włączyć tryb ścisłego typowania na początku pliku:
<?php
declare(strict_types=1);
function add(int $a, int $b): int {
return $a + $b;
}
echo add(3, 4); // 7
// add(3, '4'); // TypeError in strict mode!Deklarowanie typów w funkcjach
PHP 7+ obsługuje deklarowanie typów parametrów i wartości zwracanych, co poprawia czytelność kodu i pomaga wykrywać błędy:
<?php
function greet(string $name): string {
return 'Hello, ' . $name . '!';
}
function divide(float $a, float $b): ?float {
if ($b === 0.0) return null; // nullable return
return $a / $b;
}
echo greet('PHP'); // Hello, PHP!
var_dump(divide(10, 0)); // NULLZasoby
Zasób to specjalna zmienna zawierająca odwołanie do zewnętrznego zasobu, takiego jak uchwyt pliku lub połączenie z bazą danych:
<?php
// fopen returns a resource
$handle = fopen('data.txt', 'r');
echo gettype($handle); // resource
fclose($handle); // always free resources when doneTypy unii (PHP 8)
PHP 8 wprowadziło typy unii, które pozwalają parametrowi lub wartości zwracanej przyjmować wiele typów:
<?php
declare(strict_types=1);
function format(int|float $number): string {
return number_format($number, 2);
}
echo format(1234); // 1,234.00
echo format(9.5); // 9.50Szybki test
Co zwraca funkcja PHP is_numeric() dla ciągu znaków '42'?
Podsumowanie: typy danych w PHP
Omówiono system typów PHP:
- Typy skalarne: string, int, float, bool
- NULL oznaczający zamierzony brak wartości
- Tablice i obiekty jako typy złożone
- Zasoby reprezentujące zewnętrzne uchwyty
- Typy unii w PHP 8, umożliwiające elastyczne sygnatury
- Tryb ścisłego typowania z użyciem
declare(strict_types=1)
Następny temat: wyświetlanie danych w przeglądarce za pomocą echo i print.
Często zadawane pytania
Czy lekcja „Przegląd typów danych PHP” jest bezpłatna?
Tak — pełny tekst „Przegląd typów danych PHP” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu PHP Academy, przejdź na CoddyKit PRO. Kurs PHP Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Przegląd typów danych PHP”?
Poznanie napisów, liczb całkowitych, liczb zmiennoprzecinkowych, wartości logicznych i NULL w PHP. Ćwiczysz PHP Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć PHP Academy?
Nie wymagamy żadnego doświadczenia. PHP Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Przegląd typów danych PHP”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji PHP Academy?
Tak. Każda lekcja PHP Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Deklarowanie zmiennych w PHP
- Przegląd typów danych PHP
- Wyświetlanie danych za pomocą echo i print
- Żonglowanie typami i rzutowanie typów