Một tài liệu tham khảo PHP 8.3+ có thể tìm kiếm và in được — cú pháp, chuỗi, mảng, hàm, lớp, enum, attribute và các tính năng hiện đại. Miễn phí.

Basics & types

10
declare(strict_types=1);
Enforce strict scalar type checks
$x = 1;
Variables start with a dollar sign
const MAX = 100;
Compile-time constant
gettype($x)
Get the type of a value
(int) $x
Cast to an integer
is_int($x)
Type-check helper (is_string, ...)
int|string $x
Union type declaration
?string $x
Nullable type (string or null)
$a ?? 'default'
Null coalescing operator
$a ??= 'default'
Assign only if null

Strings

11
"Hello $name"
Double quotes interpolate variables
'literal $x'
Single quotes are literal
$a . $b
Concatenate strings
strlen($s)
Byte length of a string
str_contains($s, 'a')
Check for a substring
str_starts_with($s, 'a')
Check the prefix
substr($s, 0, 3)
Extract part of a string
str_replace('a', 'b', $s)
Replace all occurrences
explode(',', $s)
Split into an array
sprintf('%05.2f', $n)
Formatted string output
trim($s)
Strip surrounding whitespace

Arrays

11
$a = [1, 2, 3];
Indexed array literal
$a = ['k' => 'v'];
Associative array
array_map(fn($x) => $x * 2, $a)
Transform each element
array_filter($a, fn($x) => $x > 0)
Keep matching elements
array_reduce($a, $fn, 0)
Reduce to a single value
in_array($v, $a, true)
Strict value check
array_keys($a)
Get all keys
array_merge($a, $b)
Merge arrays
[...$a, ...$b]
Spread/merge arrays
count($a)
Number of elements
[$x, $y] = $a;
Array destructuring

Functions

9
function f(int $a): int {}
Typed parameters and return
function f(int $a = 1) {}
Default parameter value
function f(int ...$nums) {}
Variadic parameters
f(...$args)
Spread arguments
f(name: 'Sam', age: 30)
Named arguments
$fn = fn($x) => $x + 1;
Arrow function (auto-captures scope)
function () use ($x) {}
Closure capturing a variable
$fn = strlen(...);
First-class callable syntax
function f(): never {}
Never returns (throws or exits)

Control flow

9
if ($a) {} elseif ($b) {} else {}
Conditional branches
$a ? $b : $c
Ternary expression
$a ?: $b
Short ternary (falsy fallback)
match ($x) { 1, 2 => 'a', default => 'b' }
Strict, expression-based match
switch ($x) { case 1: break; }
Loose multi-way branch
foreach ($a as $k => $v) {}
Iterate keys and values
for ($i = 0; $i < 10; $i++) {}
Counted loop
while ($cond) {}
Loop while a condition holds
break / continue
Exit or skip a loop iteration

Classes & OOP

10
class A extends B implements C {}
Inheritance and interfaces
public function __construct(private int $id) {}
Constructor property promotion
public readonly string $name;
Immutable after initialization
public function f(): static {}
Return the late-bound type
static::create()
Late static binding
$obj?->method()
Null-safe method call
abstract class A {}
Cannot be instantiated directly
trait T {} use T;
Reusable horizontal code
$obj instanceof A
Type check at runtime
A::class
Fully-qualified class name string

Enums

9
enum Status { case Active; case Draft; }
Pure enumeration
enum Status: string { case A = 'a'; }
Backed enum (string/int)
Status::Active
Reference an enum case
Status::from('a')
Build from a backing value
Status::tryFrom('x')
Returns null if invalid
Status::cases()
Array of all cases
$status->value
Backing value of a case
$status->name
Name of the case
enum E { public function label() {} }
Enums can have methods

Error handling

9
try {} catch (Throwable $e) {}
Catch errors and exceptions
catch (TypeError | ValueError $e)
Catch multiple types
catch (Exception)
Non-capturing catch (no variable)
finally {}
Always runs after try/catch
throw new RuntimeException('x')
Throw an exception
throw $e;
Re-throw the caught exception
$x = $v ?? throw new Error();
Throw as an expression
$e->getMessage()
Read the error message
$e->getPrevious()
Get the chained exception

Attributes & modern

9
#[Attribute] class Route {}
Declare a custom attribute
#[Route('/home')]
Apply an attribute to a target
new ReflectionClass($x)
Inspect a class via reflection
$ref->getAttributes()
Read declared attributes
json_encode($data)
Serialize to JSON
json_decode($s, true)
Decode JSON to an array
array_is_list($a)
True if keys are 0..n in order
str_word_count($s)
Count words in a string
$obj::class
Class name from an instance

Không có mục nào khớp với “:q”.


Giới thiệu về Bảng tra cứu PHP

Trang tổng hợp PHP này cô đọng PHP hiện đại vào một trang có thể tìm kiếm: kiến thức cơ bản và kiểu dữ liệu, chuỗi, mảng, hàm, luồng điều khiển, lớp và OOP, enum, xử lý lỗi, và attribute cùng các tính năng hiện đại khác. Mỗi dòng là một đoạn mã có thể chạy được kèm mô tả bằng lời dễ hiểu.

Nó nhắm đến PHP 8.3+, nên bạn sẽ tìm thấy các tính năng định hình PHP hiện tại — enum, thuộc tính readonly, constructor property promotion, named argument, match expression, arrow function, nullsafe call và attribute — bên cạnh các hàm chuỗi và mảng thông dụng bạn dùng liên tục.

Trang này miễn phí và hoàn toàn chạy phía client: tìm kiếm lọc các dòng khi bạn gõ, menu phần dính (sticky) giúp bạn nhảy quanh trang, một cú nhấp sao chép bất kỳ đoạn mã nào, và một nút in biến nó thành một tài liệu PHP trên giấy.

Cách sử dụng Bảng tra cứu PHP

  1. Xem qua mục lục — từ Basics & types đến Enums, Error handling và Attributes & modern.
  2. Gõ tên hàm hoặc từ khóa vào ô tìm kiếm để lọc toàn bộ trang ngay lập tức.
  3. Nhảy đến một phần như Classes & OOP qua thanh điều hướng dính bên cạnh.
  4. Nhấp vào bất kỳ đoạn mã nào hoặc biểu tượng sao chép của nó để sao chép mã PHP vào clipboard.
  5. Nhấn Print nếu bạn muốn toàn bộ tài liệu tham khảo trên giấy.

Câu hỏi thường gặp

Nó được viết cho PHP 8.3 trở lên. Các phần về enum, attribute và tính năng hiện đại bao gồm thuộc tính readonly, constructor promotion, match expression, named argument và nullsafe call bên cạnh cú pháp cổ điển.

Chín phần: kiến thức cơ bản và kiểu dữ liệu, chuỗi, mảng, hàm, luồng điều khiển, lớp và OOP, enum, xử lý lỗi, và attribute cùng tính năng hiện đại — những phần của PHP bạn dùng hàng ngày trong các dự án thực tế.

Dùng ô tìm kiếm ở phía trên. Nó lọc mọi dòng trực tiếp trên tất cả các phần và hiển thị số lượng kết quả khớp, nên gõ thứ gì đó như array_map sẽ thu hẹp trang xuống các đoạn mã liên quan ngay lập tức.

Có. Nhấp vào chính đoạn mã hoặc biểu tượng sao chép khi di chuột và đoạn mã sẽ vào clipboard của bạn, được xác nhận bằng một hiệu ứng nháy "Copied!" ngắn gọn.

Có, hoàn toàn miễn phí. Nó hiển thị trong trình duyệt của bạn, không cần tài khoản và có thể in bao nhiêu lần tùy thích.


Tìm kiếm phổ biến
php cheat sheet php syntax reference php array functions php string functions php enums example php 8 attributes php oop cheat sheet php try catch example
Cần trợ giúp?
Gặp sự cố với công cụ này? Hãy cho đội ngũ của chúng tôi biết.
Báo cáo sự cố

Thêm công cụ miễn phí này vào trang web của riêng bạn — sao chép và dán mã bên dưới.