如何理解这种魔术:“ array_values()期望参数1为数组,给定数组”?

时间:2019-05-22 10:45:37

标签: php php-7.2

这是我的简单代码:

$item['suppliers'] = array_values($item['suppliers']);

这是PHP错误日志:

  

[22-May-2019 13:05:23欧洲/莫斯科] PHP警告:array_values()期望参数1为数组,在第242行的/var/www/xxx/Controller.php中给出的数组

     

[22-May-2019 13:07:06欧洲/莫斯科] PHP警告:array_values()期望参数1为数组,在第242行的/var/www/xxx/Controller.php中给出的数组

     

[22-May-2019 13:07:45欧洲/莫斯科] PHP警告:array_values()期望参数1为数组,在第242行的/var/www/xxx/Controller.php中给出的数组

enter image description here

2 个答案:

答案 0 :(得分:0)

$ item ['suppliers']可能是数组中的项目,而不是数组,这就是引发错误的原因。

您应将数组名称放入 array_values()函数中。

因此正确的代码将是:

$ item ['suppliers'] = array_values($ item);

答案 1 :(得分:0)

$ item ['suppliers']不是数组。array_values需要数组参数。


if(is_array($item['suppliers'])
{
$item['suppliers'] = array_values($item['suppliers);

}

也许你想做下面的事情


$item['suppliers']=array_values($item);