警告:array_keys()期望参数1为数组,给定null,尽管数组是否正确形成?

时间:2017-11-25 20:03:30

标签: php arrays wordpress

我正在使用WordPress中的用户数据,但我认为这个错误更像是我一般的PHP问题。

我使用函数wp_update_user(),该函数获取与某些用户字段相对应的键和值数组,例如display_name

负责的代码如下所示(请注意我为了调试目的而硬编码display_name的值):

$returnValue = wp_update_user(array( 'ID' => $user->ID, 'display_name' => 'Test 123' ));
if (is_wp_error($returnValue)) {
    print_r($returnValue);
} else {
    echo "User update was a success, ID returned is " . $returnValue;
}

如果出现错误,if语句将输出错误对象。但是,该值正在按预期在数据库中更新,并且WP不会返回任何错误。但是,服务器给了我一系列警告,以Warning: array_keys() expects parameter 1 to be array, null given in /srv/www/mysite.com/current/web/wp/wp-includes/user.php on line 1993开头。我查找了函数array_keys()但据我所知,我按需要传递了一个格式正确的数组。此警告源自wp_update_user()函数。

如上所述,实际代码似乎可以正常工作并执行我想要的操作,因此此警告实际上并不妨碍任何功能。我想我可以隐藏这个警告输出,但为了最好的做法,我想深究它。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

非常确定它不是您传递的参数是错误的,而是内部WP进程。尝试使用普通整数作为现有用户的id调用