使用array_filter时出现意外的php通知和警告

时间:2016-05-14 11:06:11

标签: php

我收到以下

  

注意:使用未定义的常量ARRAY_FILTER_USE_BOTH - 假设   ' ARRAY_FILTER_USE_BOTH'在第88行的C:\ projects \ yada.php

     

警告:array_filter()最多需要2个参数,其中3个为   第88行的C:\ projects \ yada.php

     

注意:使用未定义的常量ARRAY_FILTER_USE_BOTH - 假设   ' ARRAY_FILTER_USE_BOTH'在第91行的C:\ projects \ yada.php

     

警告:array_filter()最多需要2个参数,其中3个为   第91行的C:\ projects \ yada.php

代码如下

$unregistered_team_names = array_filter($data, function ($v, $k) {
    return strpos($k, 'unregistered_user_name_') !== false;
}, ARRAY_FILTER_USE_BOTH);
$unregistered_team_emails = array_filter($data, function ($v, $k) {
    return strpos($k, 'unregistered_user_email_') !== false;
}, ARRAY_FILTER_USE_BOTH);

根据此处提供的文档 - http://php.net/manual/en/function.array-filter.php

,代码似乎有效

回调永远不会被召唤。

1 个答案:

答案 0 :(得分:9)

根据array_filter手册的changelog部分:

  

5.6.0 添加了可选的flag参数和常量ARRAY_FILTER_USE_KEY以及ARRAY_FILTER_USE_BOTH

所以答案是:你的php版本比5.6 更低