PHP超全局数组的长度

时间:2011-03-18 07:51:41

标签: php arrays size

是否可以使用某种长度()或大小()来检查$ _FILES []中的项目数量?

3 个答案:

答案 0 :(得分:7)

这是一个正常的数组,除了它是超全球 - 只需使用count($_FILES)

要计算成功上传的文件,您可以在PHP5.3中执行以下操作:

$successCount = array_reduce($_FILES, function($val, $file) {
    if($file['error'] == UPLOAD_ERR_OK) return $val + 1;
    return $val;
}, 0);

在较旧的PHP版本中,最简单的方法(我认为回调的字符串函数名称很丑陋)将使用一个简单的循环:

$count = 0;
foreach($_FILES as $file) {
    if($file['error'] == UPLOAD_ERR_OK) $count++;
}

答案 1 :(得分:0)

count()函数执行:http://php.net/manual/en/function.count.php

$c = count($_FILES);

答案 2 :(得分:0)

上传命名字段有两种方式 虽然filename[]会使此数组变得混乱,但filename1filename2等会使$ _FILES数组的行为符合您的预期并且计数($ _ FILES)将返回输入字段数

如果您不了解数组结构,则应先使用print_r($_FILES)查看它,然后再决定要计算的内容。

另请注意,如您所述,数组名称为$_FILES,而非$_FILES[]。它是运算符,而不是数组名称。