Tôi đang cố gắng tìm ra sự khác biệt giữa array_replace() và array_merge(). Câu hỏi thực sự xuất hiện trong tâm trí của tôi sau bài đăng này: PHP array_merge empty values always less prioritar, nơi mà vấn đề thực sự có thể được giải quyết bằng bất kỳ chức năng nào trong hai chức năng này. Vì vậy, tôi đã cố gắng tìm hiểu trong trường hợp nào chúng ta nên sử dụng array_replace thay vì array_merge và ngược lại.Sự khác nhau giữa array_replace và array_merge trong PHP
Sau khi đọc các tài liệu php cho cả hai chức năng, tôi thấy hai sự khác biệt này:
- Nếu các mảng chứa phím số, giá trị sau này sẽ không ghi đè giá trị ban đầu trong
array_merge()
, mà sẽ được thực hiện trongarray_replace()
. - Trong
array_merge()
, giá trị trong mảng đầu vào bằng các phím số sẽ được đổi số với các phím gia tăng bắt đầu từ số không trong mảng kết quả, không nên xảy ra vớirray_replace()
.
Kể từ sự khác biệt chỉ liên quan đến phím số, chúng ta có thể an toàn nói rằng, chức năng array_replace()
và array_merge()
là chính xác tương đương khi chúng ta đang đối phó với mảng kết hợp? Hoặc là có bất kỳ sự khác biệt nào khác mà tôi đang thiếu?
Bạn nên thử nó và xem những gì bạn nhận được :) – zpr
@zpr Hãy thử những gì? Nếu bạn thấy câu hỏi và câu trả lời được đề cập, giải pháp sẽ hoạt động với cả hai chức năng. Nhưng tôi chỉ cố gắng để biết, cho dù có thể có trường hợp khác, khi hai chức năng này sẽ không cho kết quả tương tự cho mảng kết hợp. –