php

PHP: diferencia entre array_merge y array_merge_recursive

En este post te voy a explicar la diferencia entre dos funciones de PHP que sirven para combinar arreglos: array_merge y array_merge_recursive.

En resumen, la diferencia es que array_merge combina arreglos y si encuentra claves repetidas toma el valor del último arreglo, y array_merge_recursive crea un array nuevo cuando encuentra claves repetidas.

Estoy seguro de que lo vas a entender mejor con un ejemplo que demuestra la diferencia entre array_merge_recursive y array_merge.

Diferencia entre array_merge y array_merge_recursive en PHP

Como lo dije, ambas funciones combinan arreglos.

Si array_merge encuentra claves o índices repetidos, el valor en el arreglo nuevo será el último que encuentre.

Veamos el siguiente ejemplo:

<?php
$detallesUsuario = array(
    "nombre" => "Luis Cabrera Benito",
    "sitio_web" => "parzibyte.me",
);

$masDetalles = array(
    "edad" => 22,
    "sitio_web" => "https://parzibyte.me/blog",
);
$con_array_merge = array_merge($detallesUsuario, $masDetalles);
print_r($con_array_merge);
/*
Array
(
[nombre] => Luis Cabrera Benito
[sitio_web] => https://parzibyte.me/blog
[edad] => 22
)
 */

En ambos arreglos tenemos un valor en ["sitio_web"] pero como array_merge toma el último valor encontrado, toma el del segundo arreglo; es decir, descarta los anteriores.

Se encuentra una gran diferencia al usar array_merge_recursive, veamos el ejemplo:

<?php
$detallesUsuario = array(
 "nombre" => "Luis Cabrera Benito",
 "sitio_web" => "parzibyte.me",
 );
 $masDetalles = array(
  "edad" => 22,
  "sitio_web" => "https://parzibyte.me/blog"
 );
$con_array_merge_recursive = array_merge_recursive($detallesUsuario, $masDetalles);
print_r($con_array_merge_recursive);
/*
Array
(
    [nombre] => Luis Cabrera Benito
    [sitio_web] => Array
        (
            [0] => parzibyte.me
            [1] => https://parzibyte.me/blog
        )

    [edad] => 22
)
*/

En el nuevo arreglo, dentro de la clave ["sitio_web"] tenemos otro arreglo que tiene lo valores repetidos.

Esa es la diferencia entre array_merge y array_merge_recursive en PHP.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Creador de credenciales web – Aplicación gratuita

Hoy te voy a presentar un creador de credenciales que acabo de programar y que…

1 semana hace

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

2 semanas hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

2 semanas hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

2 semanas hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

2 semanas hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

2 semanas hace

Esta web usa cookies.