- if (version_compare(PHP_VERSION, '5.6.0') >= 0) {
- return array_filter($data, $callback, $flag);
- }
-
- $output = [];
- foreach ($data as $key => $value) {
- $params = [$value];
-
- if ($flag === static::ARRAY_FILTER_USE_BOTH) {
- $params[] = $key;
- }
-
- if ($flag === static::ARRAY_FILTER_USE_KEY) {
- $params = [$key];
- }
-
- $response = call_user_func_array($callback, $params);
- if ($response) {
- $output[$key] = $value;
- }
- }
-
- return $output;