2010-07-23 100 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" /> 

好運。