Tìm hiểu về khái niệm tham trị và tham chiếu trong PHP

Tìm hiểu về khái niệm tham trị và tham chiếu trong PHP

Khái niệm tham trị và tham chiếu được sử dụng trong hầu hết các ngôn ngữ lập trình phổ thông hiện nay. Khái niệm này được sử dụng khi ta làm việc với các hàm.

  • Truyền tham trị: trình biên dịch sẽ thực hiện tạo một bản sao và truyền bản sao đó vào nơi nó phải tới. Do đó mọi tác động, thay đổi trên bản sao này đều không ảnh hưởng tới biến gốc. Và khi kết thúc bản sao này sẽ được giải phóng.
  • Truyền tham chiếu: thì nó sẽ truyền địa chỉ, vị trí trên bộ nhớ của chính cái biến ta đang muốn truyền. Vì là mọi hành động tác động thông qua một địa chỉ nhớ nên mọi dữ liệu ta thay đổi thì biến bên ngoài cũng thay đổi theo.

tim-hieu-ve-khai-niem-tham-tri-va-tham-chieu-trong-php

Để các bạn dễ hiểu hơn về tham trị và tham chiếu, mình sẽ làm 2 demo để các bạn có thể dễ hình dung nhé:

1. Ví dụ tham trị

2. Ví dụ tham chiếu

Kết quả trả về sẽ là 10, 10. Sau khi địa chỉ của a được gán cho b. Thực hiện thay đổi giá trị trên b thực chất là đang thay đổi giá trị của a.

3. Khi nào thì sử dụng tham trị và tham chiếu?

  • Truyền kiểu tham trị: Khi bạn muốn truyền vào hàm mà khi đi ra giá trị của tham số truyền vào không thay đổi.
  • Truyền kiểu tham chiếu: Khi bạn truyền vào hàm, sau khi thực hiện xong thì giá trị của tham số sẽ thay đổi theo.

Ngoài ra, khi số lượng phần tử quá lớn thì ta có thể truyền theo kiểu tham chiếu, phần mềm của bạn sẽ không phải thực hiện quá trình cấp phát bộ nhớ và sao chép dữ liệu lên đó nên chắc chắn hiệu suất hoạt động của ứng dụng sẽ nhanh hơn rất nhiều.

Tổng kết

Các bạn có thể thấy được sự khác nhau rồi đó. Chúc các bạn có thêm kinh nghiệm lập trình mới cho bản thân của mình. Hãy thường xuyên tham gia kiến thức web để không ngừng cập nhật các kiến thức mới có ích bạn nhé! 🙂