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.

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *