php - 当名称为空时,如何从下面的代码中删除最后一个数组

标签 php arrays

这里我想从下面删除最后一个数组(这始终是动态设置的最后一个数组):

array(1) {
  ["file-1573204001988"]=>
  array(3) {
    [0]=>
    array(5) {
      ["name"]=>
      string(7) "abc.png"
      ["type"]=>
      string(9) "image/png"
      ["tmp_name"]=>
      string(14) "/tmp/phpdl81UY"
      ["error"]=>
      int(0)
      ["size"]=>
      int(72761)
    }
    [1]=>
    array(5) {
      ["name"]=>
      string(12) "profiles.png"
      ["type"]=>
      string(9) "image/png"
      ["tmp_name"]=>
      string(14) "/tmp/phptIFS1J"
      ["error"]=>
      int(0)
      ["size"]=>
      int(16178)
    }
    [2]=>
    array(5) {
      ["name"]=>
      string(0) ""
      ["type"]=>
      string(0) ""
      ["tmp_name"]=>
      string(0) ""
      ["error"]=>
      int(4)
      ["size"]=>
      int(0)
    }
  }
}

我想从上面删除整个下面的数组(当它有空名称时):

[2]=>
    array(5) {
      ["name"]=>
      string(0) ""
      ["type"]=>
      string(0) ""
      ["tmp_name"]=>
      string(0) ""
      ["error"]=>
      int(4)
      ["size"]=>
      int(0)
    }

这怎么可能我尝试了 array_pop、unset 和其他预定义的 php 函数,但没有得到正确的结果。 请帮助我达到正确的值 提前致谢

最佳答案

这些看起来像 $_FILES 数组的项目。我建议检查 error 的值,并过滤掉任何不是 UPLOAD_ERR_OK0

的内容,而不是检查名称。
$valid_files = array_filter($arr["file-1573204001988"],
     fn($item) => $item['error'] === UPLOAD_ERR_OK);

File upload errors

array_filter

关于php - 当名称为空时,如何从下面的代码中删除最后一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70651436/

相关文章:

php - MySQL 插入 : Multiple lines with one query

php - 将 MySQL 时间戳格式化为 PHP DateTime

php - 单查询多答案数据库如何在查询网站中工作

c++ - 在 O(log n) 时间复杂度中查找排序数组中的多数元素

c++ - 在 C++ 中,这是顺序访问二维数组的方式(内存块方式)

PHP 上传 - 为什么 isset($_POST ['submit' ]) 总是 FALSE

php - 为 iTunes 制作播客 RSS 提要

c - 检查字符数组是否为空的最佳方法

Java:将两个json对象与主键合并在一起

python - 在 Python 中拆分数组