Próbuję ustalić różnice między array_replace() i array_merge(). Pytanie rzeczywiście przyszło mi do głowy po tym wpisie: PHP array_merge empty values always less prioritar, gdzie problem faktycznie można rozwiązać za pomocą dowolnej z tych dwóch funkcji. Tak więc, próbowałem dowiedzieć się, w których przypadkach powinniśmy użyć array_replace zamiast array_merge i na odwrót.Różnice między array_replace i array_merge w PHP
Po zapoznaniu się z dokumentacją PHP dla obu funkcji, uważam te dwie różnice:
- Jeśli tablice zawierają klawiszy numerycznych, późniejsza wartość nie nadpisze wartość początkową w
array_merge()
, które zostaną wykonane warray_replace()
. - W wartości w tablicy wejściowej z klawiszami numerycznymi zostaną ponumerowane z przyrostowymi klawiszami począwszy od zera w tablicy wyników, co nie powinno się zdarzyć z
rray_replace()
.
Ponieważ różnice są związane jedynie z klawiatury numerycznej, możemy śmiało powiedzieć, że funkcjonuje array_replace()
i array_merge()
są dokładnie równoważne, gdy mamy do czynienia z asocjacyjnych? Czy jest jakakolwiek inna różnica, której mi brakuje?
Powinieneś spróbować i zobaczyć co się dzieje :) – zpr
@zpr Spróbuj co? Jeśli zobaczysz wskazane pytanie i odpowiedzi, rozwiązanie działa z obiema funkcjami. Ale ja tylko próbuję wiedzieć, czy mogą istnieć inne przypadki, kiedy te dwie funkcje nie dadzą tego samego wyniku dla tablic asocjacyjnych. –