Sto cercando di capire le differenze tra array_replace() e array_merge(). La domanda mi è venuta in mente dopo questo post: PHP array_merge empty values always less prioritar, dove il problema può essere risolto con una di queste due funzioni. Quindi, stavo cercando di scoprire in quali casi dovremmo usare array_replace anziché array_merge e viceversa.Differenze tra array_replace e array_merge in PHP
Dopo aver letto la documentazione di PHP per entrambe le funzioni, trovo queste due differenze:
- Se gli array contengono tasti numerici, il valore entro e non sovrascriverà il valore originale in
array_merge()
, che sarà effettuata inarray_replace()
. - In
array_merge()
, i valori nell'array di input con i tasti numerici verranno rinumerati con chiavi incrementali a partire da zero nell'array dei risultati, che non dovrebbe verificarsi con unrray_replace()
.
Dal momento che le differenze sono legate solo ai tasti numerici, possiamo tranquillamente dire che, le funzioni e array_replace()
array_merge()
sono esattamente equivalenti quando abbiamo a che fare con gli array associativi? O c'è qualche altra differenza che mi manca?
Si dovrebbe provare e vedere quello che si ottiene :) – zpr
@zpr Provare cosa? Se vedi la domanda e le risposte riferite, la soluzione funziona con entrambe le funzioni. Ma sto solo cercando di sapere se ci possono essere altri casi, quando queste due funzioni non danno lo stesso risultato per gli array associativi. –