2014-07-05 4 views
0

Я получаю массив массива, и я хочу удалить массив только с этим [name] => и [size] => 0.Удалите все значения массива с определенным условием

Текущий массив:

Array 
(
    [0] => Array 
     (
      [name] => 
      [type] => 
      [tmp_name] => 
      [error] => 4 
      [size] => 0 
     ) 

    [1] => Array 
     (
      [name] => 
      [type] => 
      [tmp_name] => 
      [error] => 4 
      [size] => 0 
     ) 

    [2] => Array 
     (
      [name] => 
      [type] => 
      [tmp_name] => 
      [error] => 4 
      [size] => 0 
     ) 

    [3] => Array 
     (
      [name] => Penguins.jpg 
      [type] => image/jpeg 
      [tmp_name] => /tmp/phpozs13E 
      [error] => 0 
      [size] => 777835 
     ) 

    [4] => Array 
     (
      [name] => Tulips.jpg 
      [type] => image/jpeg 
      [tmp_name] => /tmp/phpq66c41 
      [error] => 0 
      [size] => 620888 
     ) 

    [5] => Array 
     (
      [name] => 
      [type] => 
      [tmp_name] => 
      [error] => 4 
      [size] => 0 
     ) 

) 

И я хочу этот выход

Array 
(
    [0] => Array 
     (
      [name] => Penguins.jpg 
      [type] => image/jpeg 
      [tmp_name] => /tmp/phpozs13E 
      [error] => 0 
      [size] => 777835 
     ) 

    [1] => Array 
     (
      [name] => Tulips.jpg 
      [type] => image/jpeg 
      [tmp_name] => /tmp/phpq66c41 
      [error] => 0 
      [size] => 620888 
     ) 
) 
+0

Вы посмотрели на ['array_filter()'] (http://php.net/array_filter)? –

+1

Используйте стандартные инструкции 'foreach' и' if', а также RTFM. –

+0

выглядит как попытка загрузить несколько файлов upload.just подтвердите свои данные, которые имеют атрибут name ... –

ответ

0

Это проще, чем это; вы хотите, чтобы файл загружался без ошибок; то есть

$results = array_filter($_FILES, function($file) { 
    return $file['error'] === 0; 
}); 
Смежные вопросы