Fills an array with
count
entries of the value of the
value
parameter, keys starting at the
start_index
parameter.
Parameters
start_index
The first index of the returned array.
If
start_index
is negative, the first index of the returned array will be
start_index
and the following indices will start from zero prior to PHP 8.0.0; as of PHP 8.0.0, negative keys are incremented normally (see example).
count
Number of elements to insert. Must be greater than or equal to zero, and less than or equal to
2147483647
.
value
Value to use for filling
Return Values
Returns the filled array
Errors/Exceptions
Throws a
ValueError
if
count
is out of range.
Changelog
Version
Description
8.0.0
array_fill()
now throws a
ValueError
if
count
is out of range; previously
E_WARNING
was raised, and the function returned
false
.
Iterates over each value in the
array
passing them to the
callback
function. If the
callback
function returns
true
, the current value from
array
is returned into the result
array
.
Array keys are preserved, and may result in gaps if the
array
was indexed. The result
array
can be reindexed using the
array_values()
function.
Parameters
array
The array to iterate over
callback
The callback function to use
If no
callback
is supplied, all empty entries of
array
will be removed. See
empty()
for how PHP defines empty in this case.
mode
Flag determining what arguments are sent to
callback
:
ARRAY_FILTER_USE_KEY
- pass key as the only argument to
callback
instead of the value
ARRAY_FILTER_USE_BOTH
- pass both value and key as arguments to
callback
instead of the value
Default is
0
which will pass value as the only argument to
callback
instead.
Return Values
Returns the filtered array.
Changelog
Version
Description
8.0.0
callback
is nullable now.
8.0.0
If
callback
expects a parameter to be passed by reference, this function will now emit an
E_WARNING
.
Examples
Example #1
array_filter()
example
<?phpfunctionodd($var){// returns whether the input integer is oddreturn$var&1;}functioneven($var){// returns whether the input integer is evenreturn!($var&1);}$array1=['a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5];$array2=[6,7,8,9,10,11,12];echo"Odd :\n";print_r(array_filter($array1,"odd"));echo"Even:\n";print_r(array_filter($array2,"even"));?>
array_flip
—
Exchanges all keys with their associated values in an array
Description
array_flip(array$array):array
array_flip()
returns an
array
in flip order, i.e. keys from
array
become values and values from
array
become keys.
Note that the values of
array
need to be valid keys, i.e. they need to be either
int
or
string
. A warning will be emitted if a value has the wrong type, and the key/value pair in question
will not be included in the result
.
If a value has several occurrences, the latest key will be used as its value, and all others will be lost.
array_intersect_assoc()
returns an array containing all the values of
array
that are present in all the arguments. Note that the keys are also used in the comparison unlike in
array_intersect()
.
Parameters
array
The array with master values to check.
arrays
Arrays to compare values against.
Return Values
Returns an associative array containing all the values in
array
that are present in all of the arguments.
Changelog
Version
Description
8.0.0
This function can now be called with only one parameter. Formerly, at least two parameters have been required.
In our example you see that only the pair
"a" =>
"green"
is present in both arrays and thus is returned. The value
"red"
is not returned because in
$array1
its key is
0
while the key of "red" in
$array2
is
1
, and the key
"b"
is not returned because its values are different in each array.
The two values from the
key => value
pairs are considered equal only if
(string) $elem1 === (string) $elem2
. In other words a strict type check is executed so the string representation must be the same.
See Also
array_intersect() - Computes the intersection of arrays
array_uintersect_assoc() - Computes the intersection of arrays with additional index check, compares data by a callback function
array_intersect_uassoc() - Computes the intersection of arrays with additional index check, compares indexes by a callback function
array_uintersect_uassoc() - Computes the intersection of arrays with additional index check, compares data and indexes by separate callback functions
array_diff() - Computes the difference of arrays
array_diff_assoc() - Computes the difference of arrays with additional index check