JavaScript is required

Đoạn mã sau, in ra giá trị nào sau đây
$a = array(
null => 'a',
true => 'b',
false => 'c',
0 => 'd',
1 => 'e',
'' => 'f'
);
echo count($a);

A.
2
B.
3
C.
5
D.
6
Trả lời:

Đáp án đúng: B


Trong PHP, khi sử dụng các giá trị `null`, `true`, `false`, `0`, `1`, và `''` làm key trong một mảng, PHP sẽ tự động chuyển đổi chúng sang các kiểu dữ liệu tương ứng: - `null` sẽ được chuyển đổi thành `''` (chuỗi rỗng). - `true` sẽ được chuyển đổi thành `1` (số nguyên). - `false` sẽ được chuyển đổi thành `0` (số nguyên). Do đó, mảng trên sau khi được xử lý sẽ như sau: - `'' => 'a'` - `1 => 'b'` - `0 => 'c'` - `0 => 'd'` (ghi đè giá trị trước đó của key `0`) - `1 => 'e'` (ghi đè giá trị trước đó của key `1`) - `'' => 'f'` (ghi đè giá trị trước đó của key `''`) Vậy, mảng cuối cùng sẽ có 3 phần tử với các key là `''`, `0`, và `1`. Hàm `count()` sẽ trả về số lượng phần tử trong mảng, tức là 3.

Câu hỏi liên quan