© 2026 Laravel

PHP: Tham trị (Value) vs Tham chiếu (Reference)

1 phút đọc
#php #internals #memory-management

Mục lục bài viết

Sử dụng các mục để điều hướng nhanh

#1. Tham trị (Pass by Value)

Mặc định PHP truyền giá trị. Khi bạn truyền một biến vào hàm, PHP tạo ra một bản sao. Đặc biệt: Nhờ cơ chế Copy-on-Write (COW), PHP thực sự không copy ngay. Chỉ khi bạn thay đổi giá trị trong hàm, bản sao mới thực sự được tạo.

#2. Tham chiếu (Pass by Reference)

Dùng &$var. Hàm sẽ tác động trực tiếp lên biến gốc.

  • Rủi ro: Làm hỏng cơ chế COW của Zend Engine, buộc PHP phải tạo ra “Reference object” cồng kềnh.
  • Lời khuyên: Chỉ dùng khi thực sự cần thay đổi biến gốc. Đừng lạm dụng để “tăng tốc”.

Bài viết liên quan