Phát biểu nào sau đây về hàm do người dùng định nghĩa trong PHP là SAI?
Trả lời:
Đáp án đúng: C
Câu hỏi kiểm tra kiến thức về hàm do người dùng định nghĩa trong PHP, đặc biệt là về phạm vi, cách truyền tham số và tên hàm.
- Đáp án 1: Tên hàm không phân biệt chữ hoa và chữ thường là đúng. PHP coi
myfunction()
vàMyFunction()
là cùng một hàm. - Đáp án 2: Phạm vi truy cập là siêu toàn cục là SAI. Biến trong hàm do người dùng định nghĩa có phạm vi cục bộ (local scope) trừ khi được khai báo là
global
hoặc sử dụng các biến siêu toàn cục như$_GET
,$_POST
,$_SESSION
,... - Đáp án 3: Giá trị được truyền vào hàm theo dạng ByVal (truyền theo giá trị) trong PHP mặc định là không cần ký tự "&". Do đó, phát biểu này sai.
- Đáp án 4: Để tham số được truyền vào theo dạng ByRef (truyền theo tham chiếu) cần dùng ký tự “&” là đúng. Điều này cho phép hàm sửa đổi giá trị của biến gốc được truyền vào.
Do đó, đáp án SAI là phạm vi truy cập là siêu toàn cục.