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
.
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.
En este post te quiero compartir un código de C++ para listar y cancelar trabajos…
Gracias a WebAssembly podemos ejecutar código de otros lenguajes de programación desde el navegador web…
Revisando y buscando maneras de imprimir un PDF desde la línea de comandos me encontré…
Esta semana estuve recreando la API del plugin para impresoras térmicas en Android (HTTP a…
Hoy te enseñaré a extraer la cadena base64 de una clave PEM usando una función…
Encender un foco con un Bot de Telegram es posible usando una tarjeta como la…
Esta web usa cookies.