Concatenación de matrices con el operador: revelada
En PHP, el operador se puede utilizar para combinar dos matrices. Sin embargo, hay casos en los que este método se comporta inesperadamente, como lo demuestra el siguiente fragmento de código:
$array = array('Item 1');
$array = array('Item 2');
var_dump($array);
Este código produce una salida de:
array(1) { [0]=> string(6) "Item 1" }
Contrariamente a lo esperado, el segundo elemento no se agregó a la matriz. Para comprender este comportamiento, profundizamos en las complejidades de las claves de matriz.
Cuando se utiliza el operador para concatenar matrices, asigna una clave de 0 a todos los elementos. En consecuencia, se sobrescriben los elementos existentes con claves diferentes. Para evitar esto, el enfoque recomendado es emplear la función array_merge():
$arr1 = array('foo');
$arr2 = array('bar');
$combined = array_merge($arr1, $arr2);
Este código fusiona correctamente las matrices, lo que da como resultado:
array('foo', 'bar');
Sin embargo, si las claves en las matrices son únicas, el operador se puede emplear de manera efectiva:
$arr1 = array('one' => 'foo');
$arr2 = array('two' => 'bar');
$combined = $arr1 $arr2;
Este código produce el resultado deseado:
array('one' => 'foo', 'two' => 'bar');
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3