array_combine
—
Creates an array by using one array for keys and another for its values
Description
array_combine(array$keys,array$values):array
Creates an
array
by using the values from the
keys
array as keys and the values from the
values
array as the corresponding values.
Parameters
keys
Array of keys to be used. Illegal values for key will be converted to
string
.
values
Array
of values to be used
Return Values
Returns the combined
array
.
Errors/Exceptions
As of PHP 8.0.0, a
ValueError
is thrown if the number of elements in
keys
and
values
does not match. Prior to PHP 8.0.0, a
E_WARNING
was emitted instead.
Changelog
Version
Description
8.0.0
array_combine()
will now throw a
ValueError
if the number of elements for each array is not equal; previously this function returned
false
instead.
Multiple occurrences in
$array1
are all treated the same way. This will output :
Array
(
[1] => blue
)
Example #2
array_diff()
example with non-matching types
Two elements are considered equal if and only if
(string) $elem1 === (string) $elem2
. That is, when the string representation is the same.
<?php// This will generate a Notice that an array cannot be cast to a string.$source=[1,2,3,4];$filter=[3,4,[5],6];$result=array_diff($source,$filter);// Whereas this is fine, since the objects can cast to a string.classS{private$v;publicfunction__construct(string$v){$this->v=$v;}publicfunction__toString(){return$this->v;}}$source=[newS('a'),newS('b'),newS('c')];$filter=[newS('b'),newS('c'),newS('d')];$result=array_diff($source,$filter);// $result now contains one instance of S('a');?>
To use an alternate comparison function, see
array_udiff()
.
Notes
Note
:
This function only checks one dimension of a n-dimensional array. Of course you can check deeper dimensions by using
array_diff($array1[0], $array2[0]);
.
See Also
array_diff_assoc() - Computes the difference of arrays with additional index check
array_udiff() - Computes the difference of arrays by using a callback function for data comparison
array_intersect() - Computes the intersection of arrays
array_intersect_assoc() - Computes the intersection of arrays with additional index check
Compares
array
against
arrays
and returns the difference. Unlike
array_diff()
the array keys are also used in the comparison.
Parameters
array
The array to compare from
arrays
Arrays to compare against
Return Values
Returns an
array
containing all the values from
array
that are not present in any of the other arrays.
Changelog
Version
Description
8.0.0
This function can now be called with only one parameter. Formerly, at least two parameters have been required.
Examples
Example #1
array_diff_assoc()
example
In this example you see the
"a" => "green"
pair is present in both arrays and thus it is not in the output from the function. Unlike this, the pair
0 => "red"
is in the output because in the second argument
"red"
has key which is
1
.
Two values from
key => value
pairs are considered equal only if
(string) $elem1 === (string)
$elem2
. In other words a strict check takes place so the string representations must be the same.
Note
:
This function only checks one dimension of a n-dimensional array. Of course you can check deeper dimensions by using, for example,
array_diff_assoc($array1[0], $array2[0]);
.
Note
:
Ensure you pass arguments in the correct order when comparing similar arrays with more keys. The new array should be the first in the list.
See Also
array_diff() - Computes the difference of arrays
array_diff_uassoc() - Computes the difference of arrays with additional index check which is performed by a user supplied callback function
array_udiff_assoc() - Computes the difference of arrays with additional index check, compares data by a callback function
array_udiff_uassoc() - Computes the difference of arrays with additional index check, compares data and indexes by a callback function
array_intersect() - Computes the intersection of arrays
array_intersect_assoc() - Computes the intersection of arrays with additional index check
array_diff_key
—
Computes the difference of arrays using keys for comparison
Description
array_diff_key(array$array,array...$arrays):array
Compares the keys from
array
against the keys from
arrays
and returns the difference. This function is like
array_diff()
except the comparison is done on the keys instead of the values.
Parameters
array
The array to compare from
arrays
Arrays to compare against
Return Values
Returns an
array
containing all the entries from
array
whose keys are absent from all of the other arrays.
Changelog
Version
Description
8.0.0
This function can now be called with only one parameter. Formerly, at least two parameters have been required.
Examples
Example #1
array_diff_key()
example
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.
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() - Computes the difference of arrays
array_udiff() - Computes the difference of arrays by using a callback function for data comparison
array_diff_assoc() - Computes the difference of arrays with additional index check
array_diff_uassoc() - Computes the difference of arrays with additional index check which is performed by a user supplied callback function
array_udiff_assoc() - Computes the difference of arrays with additional index check, compares data by a callback function
array_udiff_uassoc() - Computes the difference of arrays with additional index check, compares data and indexes by a callback function
array_diff_ukey() - Computes the difference of arrays using a callback function on the keys for comparison
array_intersect() - Computes the intersection of arrays
array_intersect_assoc() - Computes the intersection of arrays with additional index check
array_intersect_uassoc() - Computes the intersection of arrays with additional index check, compares indexes by a callback function
array_intersect_key() - Computes the intersection of arrays using keys for comparison
array_intersect_ukey() - Computes the intersection of arrays using a callback function on the keys for comparison
Compares
array
against
arrays
and returns the difference. Unlike
array_diff()
the array keys are used in the comparison.
Unlike
array_diff_assoc()
a user supplied callback function is used for the indices comparison, not internal function.
Parameters
array
The array to compare from
arrays
Arrays to compare against
key_compare_func
The comparison function must return an integer less than, equal to, or greater than zero if the first argument is considered to be respectively less than, equal to, or greater than the second.
callback(mixed$a,mixed$b):int
Return Values
Returns an
array
containing all the entries from
array
that are not present in any of the other arrays.
Examples
Example #1
array_diff_uassoc()
example
The
"a" => "green"
pair is present in both arrays and thus it is not in the output from the function. Unlike this, the pair
0 => "red"
is in the output because in the second argument
"red"
has key which is
1
.
The equality of 2 indices is checked by the user supplied callback function.
Notes
Note
:
This function only checks one dimension of a n-dimensional array. Of course you can check deeper dimensions by using, for example,
array_diff_uassoc($array1[0], $array2[0], "key_compare_func");
.
See Also
array_diff() - Computes the difference of arrays
array_diff_assoc() - Computes the difference of arrays with additional index check
array_udiff() - Computes the difference of arrays by using a callback function for data comparison
array_udiff_assoc() - Computes the difference of arrays with additional index check, compares data by a callback function
array_udiff_uassoc() - Computes the difference of arrays with additional index check, compares data and indexes by a callback function
array_intersect() - Computes the intersection of arrays
array_intersect_assoc() - Computes the intersection of arrays with additional index check
array_uintersect() - Computes the intersection of arrays, compares data by a callback function
array_uintersect_assoc() - Computes the intersection of arrays with additional index check, compares data by a callback function
array_uintersect_uassoc() - Computes the intersection of arrays with additional index check, compares data and indexes by separate callback functions