JavaScript is required

Xem đoạn mã lệnh sau đây. Sau khi thực hiện đoạn mã trên kết quả
hiển thị sẽ là gì ?
function b($a = 4)
{
$a = $a / 2;
return $a;
}
$a = 10;
b($a);
echo $a;
?>

A.
5
B.
10
C.
2
D.
Có lỗi xảy ra
Trả lời:

Đáp án đúng: B


Đoạn mã PHP này kiểm tra sự hiểu biết về phạm vi biến và cách hàm hoạt động. Biến `$a` được định nghĩa bên ngoài hàm `b` và biến `$a` được truyền vào hàm `b` là hai biến khác nhau. Khi hàm `b` được gọi, nó nhận giá trị của `$a` (tức là 10) làm tham số, chia nó cho 2, và trả về kết quả. Tuy nhiên, giá trị trả về này không được gán cho bất kỳ biến nào trong phạm vi bên ngoài hàm. Do đó, biến `$a` bên ngoài hàm vẫn giữ giá trị ban đầu là 10. Lệnh `echo $a;` sẽ in ra giá trị của biến `$a` bên ngoài hàm, tức là 10. Vì vậy, đáp án đúng là B. 10.

Câu hỏi liên quan