Câu hỏi phỏng vấn PHP
Câu hỏi

Phương pháp nào là tốt nhất đ...

Câu trả lời

Trong PHP, việc hợp nhất hai đối tượng (merging two objects) thường được thực hiện để kết hợp các thuộc tính từ cả hai đối tượng vào một đối tượng mới, sao cho đối tượng mới này chứa tất cả các thuộc tính từ cả hai đối tượng ban đầu. Có một số cách để thực hiện việc này, tùy thuộc vào yêu cầu cụ thể và cấu trúc của đối tượng.

Sử dụng array_merge() và Type Casting

Một phương pháp phổ biến là chuyển đổi các đối tượng thành mảng, sử dụng array_merge() để hợp nhất chúng, sau đó chuyển đổi mảng kết quả trở lại thành một đối tượng. Phương pháp này hoạt động tốt khi không cần quan tâm đến tên lớp của đối tượng kết quả

$obj1 = (object)['a' => 1, 'b' => 2];
$obj2 = (object)['c' => 3, 'd' => 4];

$merged = (object)array_merge((array)$obj1, (array)$obj2);
print_r($merged);

Sử dụng Vòng Lặp

Một cách khác là sử dụng vòng lặp để sao chép từng thuộc tính từ mỗi đối tượng vào một đối tượng mới. Phương pháp này cho phép bạn kiểm soát quá trình hợp nhất một cách chi tiết hơn

$obj1 = new stdClass();
$obj1->a = 1;
$obj1->b = 2;

$obj2 = new stdClass();
$obj2->c = 3;
$obj2->d = 4;

...
senior

senior

Gợi ý câu hỏi phỏng vấn

middle

Hằng trong PHP khác gì so với biến? Nếu 1 hằng được định nghĩa 2 lần, thì liệu có bị lỗi không?

junior

Sự khác biệt giữa var_dump()print_r() trong PHP là gì?

middle

Tại sao chúng ta sử dụng extract() trong PHP?

Bình luận

Chưa có bình luận nào