Thứ Tư, 27 Tháng Mười Một 2024
Trang chủPHP & MysqlPHPTham chiếu và Tham trị trong PHP

Tham chiếu và Tham trị trong PHP

Tham chiếu và Tham trị trong PHP, bài viết trước chúng ta đã cùng Tìm hiểu Hàm trong PHP – cách dùng Hàm trong PHP. Vậy tham chiếu và tham trị là gì, liên quan như thế nào với Hàm, tham chiếu và tham trị có cần thiết hay không? Hãy cùng làm rõ tại bài viết này nhé.

DANH SÁCH BÀI VIẾT
Các Kiểu dữ liệu trong PHP - Học lập trình PHP cơ bản
Biến toàn cục và biến cục bộ trong PHP
Tham chiếu và Tham trị trong PHP
Tìm hiểu Hàm trong PHP - cách dùng Hàm trong PHP
Vòng lặp foreach trong php - Vòng lặp duyệt phần tử mảng

Tham chiếu và Tham trị trong PHP

Trong PHP, khi truyền biến vào một hàm, chúng ta có thể truyền bằng 2 cách là tham trị (pass by value) hoặc tham chiếu (pass by reference). Hai cách này có sự khác biệt quan trọng về cách biến được truyền và sự thay đổi trong hàm.

1. Tham trị (Pass by Value):

Khi truyền một biến bằng tham trị vào một hàm, hàm sẽ tạo một bản sao của giá trị của biến này. Bất kỳ thay đổi nào được thực hiện trên biến đó trong hàm sẽ không ảnh hưởng đến giá trị của biến gốc bên ngoài hàm(chỉ lấy giá trị của biến và truyền giá trị biến đó vào hàm).

Ví dụ:

<?php
function increment($num) {
    $num++;
    echo "Inside function: $num<br>";
}

$x = 5;
increment($x); //Kết quả // Kết quả: 6
echo "Outside function: $x";    //   Kết quả : 5

Trong ví dụ này, ta khai báo biến $x bằng 5, trong hàm increment ta đã tăng giá trị của $x lên 1 thành 6, tuy nhiên vì ta truyền biến $x vào hàm với tham trị nên sau khi thoát khỏi hàm biến $x gốc vẫn có giá trị là 5.

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

Khi truyền một biến bằng tham chiếu vào một hàm, hàm sẽ làm việc trực tiếp trên biến gốc, không tạo ra bản sao nào. Điều này có nghĩa là bất kỳ thay đổi nào được thực hiện trên biến trong hàm cũng sẽ ảnh hưởng đến biến gốc bên ngoài hàm (tức là ta truyền thẳng địa chỉ ô nhớ của biến đó vào hàm).

Ví dụ: Vẫn với ví dụ trên, tuy nhiên lúc này ta lại dùng tham chiếu.

<?php
//Dâu & để truyền tham chiếu
function increment(&$num) {
    $num++;
    echo "Inside function: $num<br>";
}

$x = 5;
increment($x); //Kết quả 6
echo "Outside function: $x"; //Kết quả 6

Lúc này cả hai giá trị in ra màn hình đều sẽ là 6.

Tóm lại, truyền Tham trị giá trị biến sẽ không bị thay đổi dù biến đó bị thay đổi trong hàm, ngược lại với Tham chiếu giá trị biến sẽ bị thay đổi cùng. Và để truyền tham chiếu thì ta cần có dấu & đằng trước biến đó.

[XEM TẤT CẢ BÀI VIẾT CHUYÊN MỤC HƯỚNG DẪN PHP TẠI ĐÂY]

XEM THÊM
Vòng lặp foreach trong php – Vòng lặp duyệt phần tử mảng
Sự khác nhau giữa toán tử so sánh “==” và “===” trong PHP
Mảng (Array) trong PHP – Tìm hiểu về mảng trong lập trình PHP
MySql là gì? Tìm hiểu về hệ quản trị cơ sở dữ liệu MySql
Tìm hiểu câu lệnh IF, IF ELSE, ELSE trong PHP
Cấu Trúc Rẽ Nhánh Switch … Case trong PHP | Học PHP cơ bản
Hiểu vòng lặp for, while, do…while ngôn ngữ PHP trong 5 phút
Mã nguồn website thương mại điện tử – Cửa hàng Chương Mobile
0 0 Phiếu bình chọn
Xếp hạng bài viết
BÀI VIẾT LIÊN QUAN
Đăng ký nhận thông báo
Thông báo email khi
guest
0 Bình luận
Không thể gửi email
Phản hồi nội tuyến

NÊN ĐỌC THÊM

Bạn muốn tìm kiếm gì?

Dịch vụ code thuê

TUICOCACH.COM NHẬN ĐẶT TEXTLINK, BANNER, GP
0
Giáo sư! có thể ném gạch bên dưới nhé!x