Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何理解这一魔力:“你知道吗?”;array_values()要求参数1为数组,数组给定为;?_Php_Php 7.2 - Fatal编程技术网

Php 如何理解这一魔力:“你知道吗?”;array_values()要求参数1为数组,数组给定为;?

Php 如何理解这一魔力:“你知道吗?”;array_values()要求参数1为数组,数组给定为;?,php,php-7.2,Php,Php 7.2,以下是我的简单代码: $item['suppliers'] = array_values($item['suppliers']); 下面是PHP错误日志: [22-May-2019 13:05:23 Europe/Moscow] PHP Warning: array_values() expects parameter 1 to be array, array given in /var/www/xxx/Controller.php on line 242 [22-May-2019 13:0

以下是我的简单代码:

$item['suppliers'] = array_values($item['suppliers']);
下面是PHP错误日志:

[22-May-2019 13:05:23 Europe/Moscow] PHP Warning:  array_values() expects parameter 1 to be array, array given in /var/www/xxx/Controller.php on line 242
[22-May-2019 13:07:06 Europe/Moscow] PHP Warning:  array_values() expects parameter 1 to be array, array given in /var/www/xxx/Controller.php on line 242
[22-May-2019 13:07:45 Europe/Moscow] PHP Warning:  array_values() expects parameter 1 to be array, array given in /var/www/xxx/Controller.php on line 242

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

您应该将数组名放入数组\u值()函数中

所以正确的代码是:


$item['suppliers']=数组值($item)

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


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

}

也许你想做下面的事情


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


正如tin上所说,$item['suppliers']不是一个数组,这个
$item['suppliers']=array\u值($item)@ZainFarooq为什么?我需要的正是
$item['suppliers']
可能是
$item['suppliers']
是一些字符串,而不是数组
打印($item['suppliers'])
,并向我们显示结果编号。不。不。我有$item['suppliers',我有$item['total',我有$item['min]。所以我需要正好$item['suppliers']。我无法通过var_dump()响应,但$item是数组的简单数组,$item['suppliers']是数组的简单数组。如果$item['suppliers']是数组的数组,那么您至少可以让我们知道您要在新的$item['suppliers']中提取数组$item['suppliers']中的哪一项。希望您了解数组_值的机制。array_值期望数组(仅)作为参数,而不是数组的数组或单个值或字符串。所以你只需要把数组作为参数传递,我想得到相同的数组,但是没有键。这就是这个函数的作用。除非提供虚拟数据和所需数据的格式,否则很难解释。但为了回答您的查询,array_values用于从单个数组中获取值,而不是从多维数组中获取值,因此您可能需要通过遍历循环中的$item['suppliers']将单个数组传递给array values()。