【问题标题】:Unexpected php notice and warning when using array_filter使用 array_filter 时出现意外的 php 通知和警告
【发布时间】:2016-05-14 11:06:11
【问题描述】:

我收到以下内容

注意:使用未定义的常量 ARRAY_FILTER_USE_BOTH - 假定 第 88 行 C:\projects\yada.php 中的“ARRAY_FILTER_USE_BOTH”

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

注意:使用未定义的常量 ARRAY_FILTER_USE_BOTH - 假定 第 91 行 C:\projects\yada.php 中的“ARRAY_FILTER_USE_BOTH”

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

代码如下

$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

回调永远不会被调用。

【问题讨论】:

标签: php


【解决方案1】:

根据array_filter手册的changelog部分:

5.6.0 添加了可选的flag 参数和常量ARRAY_FILTER_USE_KEYARRAY_FILTER_USE_BOTH

所以,答案是:你的 php 版本低于5.6

【讨论】:

  • 如果您有 PHP 7.0.31 但仍然出现此错误消息怎么办?
  • 我猜你的php不是7.0.31。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-05
  • 2020-02-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-24
相关资源
最近更新 更多