From dfef10d5b30eca4970379a0064ea11bf3bba83c4 Mon Sep 17 00:00:00 2001 From: Damien Seguy Date: Tue, 23 Jun 2009 15:51:34 +0000 Subject: [PATCH] initial commit git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@282662 c90b9560-bf6c-de11-be94-00142212c4b1 --- .../functions/array-replace-recursive.xml | 188 ++++++++++++++++++ reference/array/functions/array-replace.xml | 123 ++++++++++++ 2 files changed, 311 insertions(+) create mode 100644 reference/array/functions/array-replace-recursive.xml create mode 100644 reference/array/functions/array-replace.xml diff --git a/reference/array/functions/array-replace-recursive.xml b/reference/array/functions/array-replace-recursive.xml new file mode 100644 index 0000000000..9c80ecdb89 --- /dev/null +++ b/reference/array/functions/array-replace-recursive.xml @@ -0,0 +1,188 @@ + + + + + array_replace_recursive + Replaces elements from passed arrays into the first array recursively + + + &reftitle.description; + + arrayarray_replace_recursive + arrayarray + arrayarray1 + arrayarray2 + array... + + + array_replace_recursively replaces the values of the first + array with the same values from all the following + arrays. If a key from the first array exists in the second array, its value + will be replace by the value from the second array. If the key exists in the + second array, and not the first, it will be created in the first array. + If a key only exists in the first array, it will be left as is. + If several array are passed for replacement, they will be processed + in order, the former array overwritting the previous values. + + + array_replace_recursive is recursive : it will recurse into + arrays and apply the same process to the inner value. + + + When the value in array is scalar, it will be replaced + by the value in array1, may it be scalar or array. + When the value in array and array1 + are both arrays, array_replace_recursively will replace + their respective value recursively. + + + + &reftitle.parameters; + + + + array + + + The array in which elements are replace. + + + + + array1 + + + The array from which elements will be extracted. + + + + + + + + &reftitle.returnvalues; + + Returns an &array;, or &null; if an error occurs. + + + + &reftitle.examples; + + + <function>array_replace_recursive</function> example + + array( "orange") , 'berries' => array("blackberry", "raspberry"), ); +$replacements = array('citrus' => array('pineapple'), 'berries' => array('blueberry')); + +$basket = array_replace_recursive($base, $replacements); +print_r($basket); + +$basket = array_replace($base, $replacements); +print_r($basket); +?> +]]> + + &example.outputs; + + Array + ( + [0] => pineapple + ) + + [berries] => Array + ( + [0] => blueberry + [1] => raspberry + ) + +) +Array +( + [citrus] => Array + ( + [0] => pineapple + ) + + [berries] => Array + ( + [0] => blueberry + ) + +) + +]]> + + + + <function>array_replace_recursive</function> and recursive behavior + + array("orange") , 'berries' => array("blackberry", "raspberry"), 'others' => 'banana' ); +$replacements = array('citrus' => 'pineapple', 'berries' => array('blueberry'), 'others' => array('litchis')); +$replacements2 = array('citrus' => array('pineapple'), 'berries' => array('blueberry'), 'others' => 'litchis'); + +$basket = array_replace_recursive($base, $replacements, $replacements2); +print_r($basket); + +?> +]]> + + &example.outputs; + + Array + ( + [0] => pineapple + ) + + [berries] => Array + ( + [0] => blueberry + [1] => raspberry + ) + + [others] => litchis +) +]]> + + + + + + &reftitle.seealso; + + + array_replace + + + + + + diff --git a/reference/array/functions/array-replace.xml b/reference/array/functions/array-replace.xml new file mode 100644 index 0000000000..62c9adc52c --- /dev/null +++ b/reference/array/functions/array-replace.xml @@ -0,0 +1,123 @@ + + + + + array_replace + Replaces elements from passed arrays into the first array + + + &reftitle.description; + + arrayarray_replace + arrayarray + arrayarray1 + arrayarray2 + array... + + + array_replace replaces the values of the first + array with the same values from all the following + arrays. If a key from the first array exists in the second array, its value + will be replace by the value from the second array. If the key exists in the + second array, and not the first, it will be created in the first array. + If a key only exists in the first array, it will be left as is. + If several array are passed for replacement, they will be processed + in order, the former array overwritting the previous values. + + + array_replace is not recursive : it will replace + values in the first array by whatever type is in the second array. + + + + &reftitle.parameters; + + + + array + + + The array in which elements are replace. + + + + + array1 + + + The array from which elements will be extracted. + + + + + + + + &reftitle.returnvalues; + + Returns an &array;, or &null; if an error occurs. + + + + &reftitle.examples; + + + <function>array_replace</function> example + + "pineapple", 4 => "cherry"); +$replacements2 = array(0 => "grape"); + +$basket = array_replace($base, $replacements, $replacements2); +print_r($basket); +?> +]]> + + &example.outputs; + + grape + [1] => banana + [2] => apple + [3] => raspberry + [4] => cherry +) +]]> + + + + + + &reftitle.seealso; + + + array_replace_recursive + + + + + +