Phương thức nào sau đây được sử dụng để lấy tên của phần tử XML từ một đối tượng SimpleXMLElement?
Trả lời:
Đáp án đúng: C
Phương thức `getName()` được sử dụng để lấy tên của phần tử XML từ một đối tượng `SimpleXMLElement`. Các phương thức khác không phù hợp:
- `getDefined()`: Không phải là một phương thức hợp lệ trong `SimpleXMLElement`.
- `getNamespaces()`: Được sử dụng để lấy không gian tên (namespaces) được sử dụng trong tài liệu XML.
- `getCall()`: Không phải là một phương thức hợp lệ trong `SimpleXMLElement`.
Câu hỏi liên quan
Lời giải:
Đáp án đúng: D
Phương thức `__construct()` là một phương thức đặc biệt trong PHP, được gọi là phương thức khởi tạo. Nó được tự động gọi khi một đối tượng của lớp được tạo ra. Phương thức này thường được sử dụng để khởi tạo các thuộc tính của đối tượng hoặc thực hiện các công việc cần thiết khác khi đối tượng được tạo.
* A. __construct() được gọi tự động và được gọi đầu tiên khi một object được khởi tạo. - Đúng. Đây là đặc điểm chính của phương thức khởi tạo.
* B. __construct() thường dùng để khởi tạo các giá trị ban đầu, các trường hợp gọi __construct() - Đúng. Mục đích chính của `__construct()` là khởi tạo các giá trị cho đối tượng.
* C. __construct() được đặt tên trùng với tên class - Sai. Trong PHP, phương thức khởi tạo luôn được đặt tên là `__construct()`, không phụ thuộc vào tên của lớp. Trước PHP 5.3.3, phương thức khởi tạo có thể có cùng tên với lớp, nhưng đây là cách khai báo cũ và không còn được khuyến khích.
* D. __construct() phải có tham số được truyền - Sai. Phương thức `__construct()` có thể có hoặc không có tham số. Nếu có tham số, chúng sẽ được truyền khi đối tượng được tạo.
Vì vậy, phát biểu sai là C và D. Tuy nhiên, câu hỏi yêu cầu chọn một đáp án SAI duy nhất, và đáp án C sai rõ ràng hơn vì nó mâu thuẫn trực tiếp với quy tắc đặt tên phương thức khởi tạo trong PHP. Đáp án D không hoàn toàn sai, vì `__construct()` có thể không cần tham số.
* A. __construct() được gọi tự động và được gọi đầu tiên khi một object được khởi tạo. - Đúng. Đây là đặc điểm chính của phương thức khởi tạo.
* B. __construct() thường dùng để khởi tạo các giá trị ban đầu, các trường hợp gọi __construct() - Đúng. Mục đích chính của `__construct()` là khởi tạo các giá trị cho đối tượng.
* C. __construct() được đặt tên trùng với tên class - Sai. Trong PHP, phương thức khởi tạo luôn được đặt tên là `__construct()`, không phụ thuộc vào tên của lớp. Trước PHP 5.3.3, phương thức khởi tạo có thể có cùng tên với lớp, nhưng đây là cách khai báo cũ và không còn được khuyến khích.
* D. __construct() phải có tham số được truyền - Sai. Phương thức `__construct()` có thể có hoặc không có tham số. Nếu có tham số, chúng sẽ được truyền khi đối tượng được tạo.
Vì vậy, phát biểu sai là C và D. Tuy nhiên, câu hỏi yêu cầu chọn một đáp án SAI duy nhất, và đáp án C sai rõ ràng hơn vì nó mâu thuẫn trực tiếp với quy tắc đặt tên phương thức khởi tạo trong PHP. Đáp án D không hoàn toàn sai, vì `__construct()` có thể không cần tham số.
Lời giải:
Đáp án đúng: A
Đoạn mã PHP định nghĩa một lớp `A`, sau đó lớp `B1` kế thừa từ lớp `A`. Hàm `class_alias('A', 'B2')` tạo một bí danh (alias) cho lớp `A`, gọi là `B2`.
Khi tạo một đối tượng `$b1` từ lớp `B1`, `get_class($b1)` sẽ trả về tên lớp thực tế của đối tượng, là `B1`.
Khi tạo một đối tượng `$b2` từ lớp `B2` (thực chất là lớp `A` do alias), `get_class($b2)` sẽ trả về tên lớp thực tế của đối tượng, là `A`.
Vậy, kết quả hiển thị sẽ là `B1A`.
Khi tạo một đối tượng `$b1` từ lớp `B1`, `get_class($b1)` sẽ trả về tên lớp thực tế của đối tượng, là `B1`.
Khi tạo một đối tượng `$b2` từ lớp `B2` (thực chất là lớp `A` do alias), `get_class($b2)` sẽ trả về tên lớp thực tế của đối tượng, là `A`.
Vậy, kết quả hiển thị sẽ là `B1A`.
Lời giải:
Đáp án đúng: A
Đoạn mã PHP định nghĩa một lớp `number` với ba thuộc tính: `$a`, `$b` (đều là public) và `$c` (private). Sau đó, nó tạo một thể hiện của lớp này là `$numbers`. Vòng lặp `foreach` được sử dụng để lặp qua các thuộc tính của đối tượng `$numbers`. Vì `$a` và `$b` là các thuộc tính public, chúng sẽ được lặp qua và giá trị của chúng sẽ được in ra. Thuộc tính `$c` là private, nên nó sẽ không được truy cập hoặc hiển thị trong vòng lặp `foreach`. Do đó, kết quả hiển thị sẽ là "10 20".
Lời giải:
Đáp án đúng: B
Đoạn mã PHP định nghĩa hai lớp là `Object` và `Entity`.
1. Lớp `Entity`: Lớp này có một thuộc tính `$name` được khởi tạo với giá trị là "Maria".
2. Lớp `Object`: Hàm tạo (constructor) của lớp này nhận một đối tượng `$entity` làm tham số và gán giá trị "John" cho thuộc tính `$name` của đối tượng `$entity` đó.
3. Thực thi:
* Một đối tượng `$entity` thuộc lớp `Entity` được tạo ra. Lúc này, `$entity->name` có giá trị là "Maria".
* Một đối tượng `$obj` thuộc lớp `Object` được tạo ra, và đối tượng `$entity` được truyền vào hàm tạo của `Object`. Bên trong hàm tạo của `Object`, `$entity->name` được gán giá trị mới là "John".
* Cuối cùng, `print $entity->name;` in ra giá trị của thuộc tính `$name` của đối tượng `$entity`. Vì thuộc tính `$name` đã bị thay đổi thành "John" trong hàm tạo của `Object`, nên kết quả in ra sẽ là "John".
1. Lớp `Entity`: Lớp này có một thuộc tính `$name` được khởi tạo với giá trị là "Maria".
2. Lớp `Object`: Hàm tạo (constructor) của lớp này nhận một đối tượng `$entity` làm tham số và gán giá trị "John" cho thuộc tính `$name` của đối tượng `$entity` đó.
3. Thực thi:
* Một đối tượng `$entity` thuộc lớp `Entity` được tạo ra. Lúc này, `$entity->name` có giá trị là "Maria".
* Một đối tượng `$obj` thuộc lớp `Object` được tạo ra, và đối tượng `$entity` được truyền vào hàm tạo của `Object`. Bên trong hàm tạo của `Object`, `$entity->name` được gán giá trị mới là "John".
* Cuối cùng, `print $entity->name;` in ra giá trị của thuộc tính `$name` của đối tượng `$entity`. Vì thuộc tính `$name` đã bị thay đổi thành "John" trong hàm tạo của `Object`, nên kết quả in ra sẽ là "John".
Lời giải:
Đáp án đúng: C
Đoạn code PHP sử dụng hàm `array_sum()` để tính tổng các phần tử trong mảng `$values`. PHP sẽ tự động chuyển đổi kiểu dữ liệu của các phần tử mảng về số nếu có thể. Quy tắc chuyển đổi như sau:
- `'0'` chuyển thành số `0`.
- `'10hello'` chuyển thành số `10` (chỉ phần số ở đầu chuỗi được lấy).
- `'hello10'` chuyển thành số `0` (vì chuỗi không bắt đầu bằng số).
Vậy, tổng của các phần tử trong mảng sẽ là: `10 + 20 + 0 + 10 + 0 = 40`.
- `'0'` chuyển thành số `0`.
- `'10hello'` chuyển thành số `10` (chỉ phần số ở đầu chuỗi được lấy).
- `'hello10'` chuyển thành số `0` (vì chuỗi không bắt đầu bằng số).
Vậy, tổng của các phần tử trong mảng sẽ là: `10 + 20 + 0 + 10 + 0 = 40`.
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

FORM.08: Bộ 130+ Biểu Mẫu Thống Kê Trong Doanh Nghiệp
136 tài liệu563 lượt tải

FORM.07: Bộ 125+ Biểu Mẫu Báo Cáo Trong Doanh Nghiệp
125 tài liệu585 lượt tải

FORM.06: Bộ 320+ Biểu Mẫu Hành Chính Thông Dụng
325 tài liệu608 lượt tải

FORM.05: Bộ 330+ Biểu Mẫu Thuế - Kê Khai Thuế Mới Nhất
331 tài liệu1010 lượt tải

FORM.04: Bộ 240+ Biểu Mẫu Chứng Từ Kế Toán Thông Dụng
246 tài liệu802 lượt tải

CEO.22: Bộ Tài Liệu Quy Trình Kiểm Toán, Kiểm Soát Nội Bộ Doanh Nghiệp
138 tài liệu417 lượt tải
ĐĂNG KÝ GÓI THI VIP
- Truy cập hơn 100K đề thi thử và chính thức các năm
- 2M câu hỏi theo các mức độ: Nhận biết – Thông hiểu – Vận dụng
- Học nhanh với 10K Flashcard Tiếng Anh theo bộ sách và chủ đề
- Đầy đủ: Mầm non – Phổ thông (K12) – Đại học – Người đi làm
- Tải toàn bộ tài liệu trên TaiLieu.VN
- Loại bỏ quảng cáo để tăng khả năng tập trung ôn luyện
- Tặng 15 ngày khi đăng ký gói 3 tháng, 30 ngày với gói 6 tháng và 60 ngày với gói 12 tháng.
77.000 đ/ tháng