JavaScript is required

Đoạn mã sau, in ra giá trị nào sau đây
$a = 1;
{
$a = 2;
}
echo $a;

A.
1
B.
2
C.
12
D.
6
Trả lời:

Đáp án đúng: B


Đoạn mã PHP này gán giá trị 1 cho biến `$a` ở phạm vi toàn cục. Sau đó, một khối mã (được bao trong dấu `{}`) được thực thi. Bên trong khối mã này, biến `$a` lại được gán giá trị 2. Tuy nhiên, do PHP không có khái niệm về phạm vi khối (block scope) như các ngôn ngữ C, C++, Java, nên việc gán `$a = 2` bên trong khối mã thực chất là gán lại giá trị cho biến `$a` đã được khai báo ở phạm vi toàn cục. Do đó, sau khi khối mã kết thúc, giá trị của `$a` là 2. Khi `echo $a;` được thực thi, giá trị 2 sẽ được in ra màn hình.

Câu hỏi liên quan