2010-07-23 103 views
1

怎么能指望我这个数组低于总项目?计数多维数组中总项目

Array 
(
    [upload] => Array 
     (
      [name] => Array 
       (
        [0] => 1024x768.jpg 
        [1] => 1280x800.jpg 
        [2] => 1280x1024.jpg 
        [3] => 1440x900.jpg 
       ) 

      [type] => Array 
       (
        [0] => image/jpeg 
        [1] => image/jpeg 
        [2] => image/jpeg 
        [3] => image/jpeg 
       ) 

      [tmp_name] => Array 
       (
        [0] => C:\wamp\tmp\php34FE.tmp 
        [1] => C:\wamp\tmp\php353D.tmp 
        [2] => C:\wamp\tmp\php356D.tmp 
        [3] => C:\wamp\tmp\php35AC.tmp 
       ) 

      [error] => Array 
       (
        [0] => 0 
        [1] => 0 
        [2] => 0 
        [3] => 0 
       ) 

      [size] => Array 
       (
        [0] => 469159 
        [1] => 602230 
        [2] => 739779 
        [3] => 707039 
       ) 

     ) 

) 

这是我的方法,但我认为它很愚蠢!任何更好的方法/方法来计算数组内的总项目?

<pre> 
<?php if ($_FILES) {print_r($_FILES);}?> 
</pre> 

<?php 
echo count($_FILES['upload']['name']); 

if(empty($_FILES['upload']['name'][0])) 
{ 
    echo '0 file has been uploaded.'; 
} 
?> 

千恩万谢, 刘

+3

关于什么的愚蠢 '计数();' ? – 2010-07-23 22:50:22

+0

我不明白这里有什么问题。这正是计算元素的正确方法。 – Jhong 2010-07-24 00:47:38

+0

大声笑可能我让它太复杂了!只是它可能有另一种更好的办法... :-) – laukok 2010-07-24 01:45:49

回答

3

你的做法当然不傻。如果要算,如果没有发生错误上传的数量,你可以通过foreach$_FILES['upload']['error']确保他们都是0

+0

编辑=错字。检查实际的错误是一个好主意。 – Charles 2010-07-23 23:16:02

+0

@Charles:谢谢你的语法修正。 – webbiedave 2010-07-25 23:01:42

1

仅供参考...如果你有一个嵌套的表单元素$ _FILES阵列结构将发生变化。

例如。

<input name="mysuperform[image_file]" type="file" /> 

试试看......还尝试:

<input name="mysuperform[images][image_file]" type="file" /> 

好运。