array_filter () ожидает, что параметр 1 будет массивом в PHP - PullRequest
0 голосов
/ 31 мая 2018

У меня проблема со строкой в ​​течение нескольких дней.

Вот мой код:

$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]);
}

Этот код находится в форме, но когда я отправляю свою форму, у меня появляется это сообщение об ошибке:

Предупреждение: array_filter () ожидает, что параметр 1 будет массивом, ноль задан в ...

Эта часть кода работает в версии FR, но когда я пытался скопировать / вставить в версии EN, он не 'т работа.

Я все перепробовал, ничего не происходит.

Спасибо.

РЕДАКТИРОВАТЬ:

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

вернуть мне это:

NULL

когда я пытаюсь загрузить 1 или несколько файлов.

Ответы [ 2 ]

0 голосов
/ 17 сентября 2018

Вы можете проверить вот так

if(is_array($_FILES['fichier']['name'])){
    $count = count(array_filter($_FILES['fichier']['name']));
} else {
    $count = 0;
} 
echo $count;
0 голосов
/ 31 мая 2018

Функция array_filter в вашем источнике нуждается в массиве в качестве параметра, и вы используете строку.Вы должны убедиться, что параметр является массивом.Если вы проверите это, вы должны воспользоваться помощью is_array.

...