array_filter() 期望参数 1 是 PHP 中的数组

array_filter() expects parameter 1 to be array in PHP

我有好几天的线路问题了。

这是我的代码:

$files = array();
$count = count(array_filter($_FILES['fichier']['name']));
echo $count;

for($i=0;$i<$count;$i++){
    array_push($files, $_FILES['fichier']['tmp_name'][$i]);
}

此代码在表单中,但是当我提交表单时,我收到此错误消息:

Warning: array_filter() expects parameter 1 to be array, null given in...

这部分代码在 FR 版本中有效,但是当我尝试 copy/paste 在 EN 版本中时,它不起作用。

我已经尝试了一切,没有任何反应。

谢谢。

编辑:

var_dump(array_filter($_FILES['fichier']['name']));

return 我这个:

NULL

当我尝试上传 1 个或多个文件时。

源代码中的 array_filter 函数需要一个数组作为参数,而您使用的是字符串。您应该确保该参数是一个数组。如果你检查它,你应该使用 is_array.

的帮助

You can check like this

if(is_array($_FILES['fichier']['name'])){
    $count = count(array_filter($_FILES['fichier']['name']));
} else {
    $count = 0;
} 
echo $count;

我想当你看到这个错误时你可以使用这个:

<td>{{ is_array($client->phone) ? implode($client->phone, '-') : $client->phone }}</td>