array_filter() iterates over each value in
the input array passing them to the
callback function. If the
callback function returns true, the current
value from input is returned into the
result array. Array keys are preserved.
Users may not change the array itself from the callback
function. e.g. Add/delete an element, unset the array that
array_filter() is applied to. If the array
is changed, the behavior of this function is undefined.
If the callback function is not supplied,
array_filter() will remove all the entries of
input that are equal to FALSE. See converting to boolean
for more information.