From a456251039f192f0ceee16b74a3e74e6ef4f9cf1 Mon Sep 17 00:00:00 2001 From: Dave Barr Date: Tue, 27 Jul 2004 04:15:58 +0000 Subject: [PATCH] - Document 4 new array functions. git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@164405 c90b9560-bf6c-de11-be94-00142212c4b1 --- reference/array/functions/array-diff-key.xml | 102 +++++++++++++++ reference/array/functions/array-diff-ukey.xml | 119 ++++++++++++++++++ .../array/functions/array-intersect-key.xml | 100 +++++++++++++++ .../array/functions/array-intersect-ukey.xml | 117 +++++++++++++++++ 4 files changed, 438 insertions(+) create mode 100644 reference/array/functions/array-diff-key.xml create mode 100644 reference/array/functions/array-diff-ukey.xml create mode 100644 reference/array/functions/array-intersect-key.xml create mode 100644 reference/array/functions/array-intersect-ukey.xml diff --git a/reference/array/functions/array-diff-key.xml b/reference/array/functions/array-diff-key.xml new file mode 100644 index 0000000000..22471c4cbe --- /dev/null +++ b/reference/array/functions/array-diff-key.xml @@ -0,0 +1,102 @@ + + + + + array_diff_key + Computes the difference of arrays using keys for comparison + + + Description + + arrayarray_diff_key + arrayarray1 + arrayarray2 + array ... + + + array_diff_key returns an array + containing all the values of array1 + that have keys that are not present in any of the other arguments. + Note that the associativity is preserved. This function is like + array_diff except the comparison is done on the + keys instead of the values. + + + + <function>array_diff_key</function> example + + 1, 'red' => 2, 'green' => 3, 'purple' => 4); +$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan' => 8); + +var_dump(array_diff_key($array1, $array2)); +?> +]]> + + + The printout of the above program will be: + + + + int(2) + ["purple"]=> + int(4) +} +]]> + + + + + The two keys from the key => value pairs are + considered equal only if + (string) $key1 === (string) $key2 . In other words + a strict type check is executed so the string representation must be + the same. + + + + Please note that this function only checks one dimension of a n-dimensional + array. Of course you can check deeper dimensions by using + array_diff_key($array1[0], $array2[0]);. + + + + See also array_diff, + array_udiff + array_diff_assoc, + array_diff_uassoc, + array_udiff_assoc, + array_udiff_uassoc, + array_diff_ukey, + array_intersect, + array_intersect_assoc, + array_intersect_uassoc, + array_intersect_key and + array_intersect_ukey. + + + + + diff --git a/reference/array/functions/array-diff-ukey.xml b/reference/array/functions/array-diff-ukey.xml new file mode 100644 index 0000000000..be10995482 --- /dev/null +++ b/reference/array/functions/array-diff-ukey.xml @@ -0,0 +1,119 @@ + + + + + array_diff_ukey + Computes the difference of arrays using a callback function on the keys for comparison + + + Description + + arrayarray_diff_ukey + arrayarray1 + arrayarray2 + array ... + callbackkey_compare_func + + + array_diff_ukey returns an array + containing all the values of array1 + that have keys that are not present in any of the other arguments. + Note that the associativity is preserved. This function is like + array_diff except the comparison is done on the + keys instead of the values. + + + This comparison is done by a user supplied callback function. + It must return an integer less than, equal to, or greater than zero if the + first key is considered to be respectively less than, equal to, or + greater than the second. + + + + <function>array_diff_ukey</function> example + + $key2) + return 1; + else + return -1; +} + +$array1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4); +$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan' => 8); + +var_dump(array_diff_ukey($array1, $array2, 'key_compare_func')); +?> +]]> + + + The printout of the above program will be: + + + + int(2) + ["purple"]=> + int(4) +} +]]> + + + + + The two keys from the key => value pairs are + considered equal only if + (string) $key1 === (string) $key2 . In other words + a strict type check is executed so the string representation must be + the same. + + + + Please note that this function only checks one dimension of a n-dimensional + array. Of course you can check deeper dimensions by using + array_diff_ukey($array1[0], $array2[0], 'callback_func');. + + + + See also array_diff, + array_udiff + array_diff_assoc, + array_diff_uassoc, + array_udiff_assoc, + array_udiff_uassoc, + array_diff_key, + array_intersect, + array_intersect_assoc, + array_intersect_uassoc, + array_intersect_key and + array_intersect_ukey. + + + + + diff --git a/reference/array/functions/array-intersect-key.xml b/reference/array/functions/array-intersect-key.xml new file mode 100644 index 0000000000..9f5f2e85e6 --- /dev/null +++ b/reference/array/functions/array-intersect-key.xml @@ -0,0 +1,100 @@ + + + + + array_intersect_key + Computes the intersection of arrays using keys for comparison + + + Description + + arrayarray_intersect_key + arrayarray1 + arrayarray2 + array ... + + + array_intersect_key returns an array + containing all the values of array1 + which have matching keys that are present in all the arguments. + + + + <function>array_intersect_key</function> example + + 1, 'red' => 2, 'green' => 3, 'purple' => 4); +$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan' => 8); + +var_dump(array_intersect_key($array1, $array2)); +?> +]]> + + + The printout of the above program will be: + + + + int(1) + ["green"]=> + int(3) +}) +]]> + + + + + In our example you see that only the keys 'blue' + and 'green' are present in both arrays and thus + returned. Also notice that the values for the keys + 'blue' and 'green' differ between + the two arrays. A match still occurs because only the keys are checked. + The values returned are those of array1. + + + The two keys from the key => value pairs are + considered equal only if + (string) $key1 === (string) $key2 . In other words + a strict type check is executed so the string representation must be + the same. + + + See also array_diff, + array_udiff + array_diff_assoc, + array_diff_uassoc, + array_udiff_assoc, + array_udiff_uassoc, + array_diff_key, + array_diff_ukey, + array_intersect, + array_intersect_assoc, + array_intersect_uassoc and + array_intersect_ukey. + + + + + diff --git a/reference/array/functions/array-intersect-ukey.xml b/reference/array/functions/array-intersect-ukey.xml new file mode 100644 index 0000000000..27da08cbd1 --- /dev/null +++ b/reference/array/functions/array-intersect-ukey.xml @@ -0,0 +1,117 @@ + + + + + array_intersect_ukey + Computes the intersection of arrays using a callback function on the keys for comparison + + + Description + + arrayarray_intersect_ukey + arrayarray1 + arrayarray2 + array... + callbackkey_compare_func + + + array_intersect_ukey returns an array + containing all the values of array1 + which have matching keys that are present in all the arguments. + + + This comparison is done by a user supplied callback function. + It must return an integer less than, equal to, or greater than zero if the + first key is considered to be respectively less than, equal to, or + greater than the second. + + + + <function>array_intersect_ukey</function> example + + $key2) + return 1; + else + return -1; +} + +$array1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4); +$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan' => 8); + +var_dump(array_intersect_ukey($array1, $array2, 'key_compare_func')); +?> +]]> + + + The printout of the above program will be: + + + + int(1) + ["green"]=> + int(3) +}) +]]> + + + + + In our example you see that only the keys 'blue' + and 'green' are present in both arrays and thus + returned. Also notice that the values for the keys + 'blue' and 'green' differ between + the two arrays. A match still occurs because only the keys are checked. + The values returned are those of array1. + + + The two keys from the key => value pairs are + considered equal only if + (string) $key1 === (string) $key2 . In other words + a strict type check is executed so the string representation must be + the same. + + + See also array_diff, + array_udiff + array_diff_assoc, + array_diff_uassoc, + array_udiff_assoc, + array_udiff_uassoc, + array_diff_key, + array_diff_ukey, + array_intersect, + array_intersect_assoc, + array_intersect_uassoc and + array_intersect_key. + + + + +