La función array_replace() es una función incorporada en PHP y toma una lista de arrays separadas por comas (,) como parámetros y reemplaza todos los valores de la primera array que tienen las mismas claves en las otras arrays. La sustitución se realiza de acuerdo con las siguientes reglas:
- Si una clave en la primera array también existe en la segunda array, su valor en la primera array se reemplaza con el valor de esa clave en la segunda array.
- Si una clave en la segunda array no existe en la primera array, entonces se crea en la primera array y su valor de la segunda array se copia en la primera array.
- Si una clave en la primera array no está presente en ninguna de las arrays posteriores, entonces el valor de esa clave permanece sin cambios en la primera array.
- Los arreglos se procesan en el orden en que se pasan a la función, por lo tanto, si una clave del primer arreglo está presente en más de un arreglo, entonces su valor será reemplazado por el valor del arreglo en el que apareció la última vez. .
Sintaxis :
array array_replace ( $array1, $array2, ...., $arrayn )
Parámetros : esta función acepta una lista de arrays como parámetros. El primer parámetro de la función es la array que se va a reemplazar. El resto de los parámetros de la función son las arrays cuyo valor se copiará en la primera array.
Valor de retorno : esta función devuelve una array formada después de modificar la primera array en los parámetros.
Ejemplos:
Input : $array1 = array("orange", "banana", "apple", "raspberry") $array2 = array(0 => "pineapple", 4 => "cherry") $array3 = array(0 => "grape") array_replace($array1, $array2, $array3) Output : Array ( [0] => grape [1] => banana [2] => apple [3] => raspberry [4] => cherry ) Input : $array1 = array("aim", "plan", "vision", "clarity") $array2 = array("word1" => "loneliness", "word2" => "happiness") $array3 = array(0 => "solitude") array_replace($array1, $array2, $array3) Output : Array ( [0] => solitude [1] => plan [2] => vision [3] => clarity [word1] => loneliness [word2] => happiness )
En el primer ejemplo, la clave 0 está presente en ambas arrays, por lo tanto, su valor se reemplaza con el que aparece en último lugar, es decir , uva, y la clave 4 está presente en la segunda array, por lo que su valor también se reemplaza.
En el segundo ejemplo, la clave 0 está presente en la tercera array, por lo tanto, su valor se reemplaza en la primera array. Las claves palabra1 y palabra2 no están presentes en la primera array, por lo tanto, se agregan a la primera array junto con sus valores.
Los siguientes programas ilustran la función array_replace() en PHP:
Programa 1 :
<?php // Array to be replaced $array1 = array("orange", "banana", "apple", "raspberry"); // arrays that will replace the values // in the first array $array2 = array(0 => "pineapple", 4 => "cherry"); $array3 = array(0 => "grape"); $resArr = array_replace($array1, $array2, $array3); print_r($resArr); ?>
Producción:
Array ( [0] => grape [1] => banana [2] => apple [3] => raspberry [4] => cherry )
Programa 2 :
<?php // Array to be replaced $array1 = array("aim", "plan", "vision", "clarity"); // arrays that will replace the values // in the first array $array2 = array("word1" => "loneliness", "word2" => "happiness"); $array3 = array(0 => "solitude"); $resArr = array_replace($array1, $array2, $array3); print_r($resArr); ?>
Producción:
Array ( [0] => solitude [1] => plan [2] => vision [3] => clarity [word1] => loneliness [word2] => happiness )
Referencia :
http://php.net/manual/en/function.array-replace.php