private static function returnSameElementIfNotEmpty($item) {
if (empty($item)) {
return false;
}
else{
return true;
}
}
public static function clean($array) {
return array_filter($array, 'returnSameElementIfNotEmpty');
}
当我尝试使用示例数组运行时,我得到:
警告:array_filter()希望参数2成为有效的回调,函数" returnSameElementIfNotEmpty'在第27行的C:\ Framework \ ArrayMethods.php中找不到或无效的函数名称
答案 0 :(得分:6)
试试这个:
return array_filter($array, array(__CLASS__, 'returnSameElementIfNotEmpty'));
发生错误是因为您没有调用类方法。但只是一个具有该名称的函数。在上面的示例中,我使用 CLASS 作为类类型来访问静态函数returnSameElementIfNotEmpty
。
答案 1 :(得分:1)
很好,在未提及的文档中。
数组( CLASS ,' returnSameElementIfNotEmpty')解决警告
更优雅:
$ArrModEmpty = array_filter($array, function($Arr){
return (empty($Arr));
});