PHP Cheat Sheet: ściąga z PHP
Ostatnia aktualizacja
Hello World i znaczniki
Kod PHP umieszcza się w znacznikach <?php ... ?>; wszystko poza nimi trafia na wyjście jako zwykły tekst.
| Operacja | Składnia |
|---|---|
| Otwarcie / zamknięcie PHP | <?php ... ?> |
| Wypisanie tekstu | echo "Hello, World!"; |
| Wypisanie sformatowane | printf("%d items", $n); |
| Krótkie echo (w HTML) | <?= $name ?> |
| Komentarz jednoliniowy | // comment lub # comment |
| Komentarz blokowy | /* comment */ |
| Zakończenie instrukcji | ; |
| Uruchomienie pliku (CLI) | php index.php |
Zmienne i typy
Zmienne zaczynają się od $ i mają typowanie dynamiczne.
| Operacja | Składnia |
|---|---|
| Deklaracja zmiennej | $name = "Ada"; |
| Stała | const PI = 3.14; lub define("PI", 3.14); |
| Typy skalarne | int, float, string, bool |
| Null | $x = null; |
| Sprawdzenie typu | gettype($x), is_int($x), is_array($x) |
| Rzutowanie typu | (int) $str, (string) $num |
| Zmienna istnieje / jest ustawiona | isset($x), empty($x) |
| Interpolacja stringów | echo "Hi $name"; |
Stringi
Podwójne cudzysłowy interpolują zmienne; pojedyncze są dosłowne.
| Operacja | Składnia |
|---|---|
| Łączenie (konkatenacja) | $a . $b |
| Długość | strlen($s) |
| Wielkie / małe litery | strtoupper($s), strtolower($s) |
| Podciąg | substr($s, 0, 5) |
| Znalezienie pozycji | strpos($s, "x") |
| Zamiana | str_replace("a", "b", $s) |
| Podział na tablicę | explode(",", $csv) |
| Złączenie tablicy | implode(",", $arr) |
| Usunięcie białych znaków | trim($s) |
| Formatowanie stringa | sprintf("%05.2f", $n) |
Tablice (w tym asocjacyjne)
Jeden typ tablicy obsługuje zarówno listy indeksowane, jak i mapy klucz-wartość.
| Operacja | Składnia |
|---|---|
| Tablica indeksowana | $nums = [1, 2, 3]; |
| Tablica asocjacyjna | $user = ["name" => "Ada", "age" => 30]; |
| Dostęp do elementu | $nums[0], $user["name"] |
| Dodanie na końcu | $nums[] = 4; |
| Ustawienie klucza | $user["role"] = "admin"; |
| Długość | count($nums) |
| Sprawdzenie klucza | isset($user["name"]), array_key_exists("name", $user) |
| Usunięcie elementu | unset($nums[1]); |
| Scalenie tablic | array_merge($a, $b) |
| Iteracja klucz => wartość | foreach ($user as $k => $v) { ... } |
Instrukcje sterujące
Warunki i pętle mają składnię w stylu C.
| Operacja | Składnia |
|---|---|
| If / elseif / else | if ($x > 0) { ... } elseif (...) { ... } else { ... } |
| Operator trójargumentowy | $y = $x > 0 ? "pos" : "neg"; |
| Operator null coalescing | $name = $_GET["name"] ?? "guest"; |
| Switch | switch ($day) { case 1: ...; break; default: ... } |
| Pętla for | for ($i = 0; $i < 10; $i++) { ... } |
| Pętla while | while ($x < 100) { ... } |
| Foreach | foreach ($items as $item) { ... } |
| Wyrażenie match | $r = match($x) { 1 => "one", default => "?" }; |
| Break / continue | break;, continue; |
Funkcje
Funkcje mogą deklarować typy, wartości domyślne i parametry zmiennej długości.
| Operacja | Składnia |
|---|---|
| Podstawowa funkcja | function add($a, $b) { return $a + $b; } |
| Typowane parametry i wartość zwracana | function add(int $a, int $b): int { ... } |
| Wartość domyślna | function greet($name = "guest") { ... } |
| Parametry zmiennej długości | function sum(...$nums) { ... } |
| Przekazanie przez referencję | function inc(&$x) { $x++; } |
| Funkcja anonimowa | $f = function($x) { return $x * 2; }; |
| Funkcja strzałkowa | $f = fn($x) => $x * 2; |
| Użycie zmiennej zewnętrznej | function() use ($n) { ... } |
Zmienne superglobalne
Wbudowane tablice dostępne w każdym zakresie, głównie z danymi żądania.
| Superglobal | Co zawiera |
|---|---|
$_GET | Parametry query string z adresu URL |
$_POST | Dane formularza wysłane metodą POST |
$_REQUEST | Połączone $_GET, $_POST i $_COOKIE |
$_SESSION | Dane sesji użytkownika (po session_start()) |
$_COOKIE | Ciasteczka wysłane przez przeglądarkę |
$_SERVER | Informacje o serwerze i żądaniu (REQUEST_METHOD itd.) |
$_FILES | Metadane przesłanych plików |
$_ENV | Zmienne środowiskowe |
Popularne funkcje tablicowe
PHP ma setki funkcji do tablic; te są najczęściej używane.
| Funkcja | Co robi |
|---|---|
array_map($fn, $arr) | Przekształca każdy element |
array_filter($arr, $fn) | Zostawia elementy, dla których callback zwraca true |
array_reduce($arr, $fn, $init) | Redukuje do jednej wartości |
in_array($v, $arr) | Sprawdza, czy wartość występuje |
array_keys($arr) / array_values($arr) | Pobiera klucze lub wartości |
sort($arr) / rsort($arr) | Sortuje w miejscu (rosnąco / malejąco) |
usort($arr, $cmp) | Sortuje z własnym komparatorem |
array_slice($arr, 1, 3) | Wycina fragment |
array_push($arr, $v) / array_pop($arr) | Dodaje / usuwa z końca |
Klasy i OOP
PHP obsługuje klasy, dziedziczenie, interfejsy i modyfikatory widoczności.
| Operacja | Składnia |
|---|---|
| Definicja klasy | class User { ... } |
| Właściwość z widocznością | public string $name; |
| Constructor | function __construct($name) { $this->name = $name; } |
| Promocja parametrów konstruktora | function __construct(public string $name) {} |
| Utworzenie instancji | $u = new User("Ada"); |
| Dostęp do składowej | $u->name, $u->save() |
| Składowa statyczna | User::$count, User::create() |
| Dziedziczenie | class Admin extends User { ... } |
| Interfejs | interface Saveable { public function save(); } |
| Implementacja interfejsu | class User implements Saveable { ... } |
Najczęściej używana składnia PHP na jednej stronie. Ten PHP cheat sheet to szybka ściąga z rdzenia języka: zmienne i typy, stringi, tablice (w tym tablice asocjacyjne), instrukcje sterujące, funkcje, zmienne superglobalne, takie jak $_GET i $_POST, oraz klasy.
Wszystko tutaj to standardowe PHP, które działa w nowoczesnych wersjach. Skopiuj to, czego potrzebujesz, albo uruchom każdy fragment w edytorze online PHP, bez konfigurowania serwera.
PHP cheat sheet: FAQ
Czy ten PHP cheat sheet jest darmowy?
Czym różni się == od === w PHP?
== to luźne porównanie: przed porównaniem konwertuje operandy do wspólnego typu, więc 0 == "0", a nawet 0 == "" mogą zaskakiwać, różnie w różnych wersjach. === to ścisłe porównanie: zwraca true tylko wtedy, gdy wartości są równe i tego samego typu, więc 0 === "0" daje false. Używaj ===, aby uniknąć błędów wynikających z żonglowania typami.Czym są tablice asocjacyjne w PHP?
["name" => "Ada", "age" => 30]. PHP ma jeden typ tablicy, który służy jednocześnie jako uporządkowana lista i mapa klucz-wartość, więc do wartości odwołujesz się kluczem przez $user["name"], a iterujesz przez foreach ($user as $key => $value).