note 107289 deleted from function.array-filter by danbrown
| From: | danbrown@php.net | Date: | Thu, 10 May 2012 21:31:01 +0000 |
| Subject: | note 107289 deleted from function.array-filter by danbrown | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-187899@lists.php.net to get a copy of this message | ||
Note Submitter: geoff dot williams dot junk at gmail dot com
----
Improving on the array_filter_recursive function by romain dot lamarche at gmail dot com
<?php
function array_filter_recursive($array, $callback = null) {
foreach ($array as $key => & $value) {
if (is_array($value)) {
$value = array_filter_recursive($value, $callback);
}
else {
if ( ! is_null($callback)) {
if ( ! $callback($value)) {
unset($array[$key]);
}
}
else {
if ( ! (bool) $value) {
unset($array[$key]);
}
}
}
}
unset($value);
return $array;
}
?>