Đ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 = array(
null => 'a',
true => 'b',
false => 'c',
0 => 'd',
1 => 'e',
'' => 'f'
);
echo count($a);
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

FORM.08: Bộ 130+ Biểu Mẫu Thống Kê Trong Doanh Nghiệp

FORM.07: Bộ 125+ Biểu Mẫu Báo Cáo Trong Doanh Nghiệp

FORM.06: Bộ 320+ Biểu Mẫu Hành Chính Thông Dụng

FORM.05: Bộ 330+ Biểu Mẫu Thuế - Kê Khai Thuế Mới Nhất

FORM.04: Bộ 240+ Biểu Mẫu Chứng Từ Kế Toán Thông Dụng
