为什么空被认为是无效的回调?

$arr = array_filter($arr, 'empty');

这有效:if(empty($arr['foo'])) die();

最佳答案

回答

empty() 不是一个函数,而是一种语言构造,而array_filter()只能接受一个函数作为其回调。

这是手册页上的一个小注释:



解决

要解决此问题,您可以将空包装在另一个函数中,例如:

function empty_test($val) {
    return empty($val);
}

然后这样称呼它:
$arr = array_filter($arr, 'empty_test');

关于php - Array_filter 和 empty(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8399811/

10-14 06:00