2015-06-16 54 views
-1

好的,所以我有一個多維數組,如下所示。 for循環遍歷它並向我的變量添加一行。PHP多維數組undefined偏移錯誤

$command$commands存在。其餘的功能都是正確的。我的數組被正確創建並且$input_filepath指向一個存在的變量。

我不能爲了我的生活找出爲什麼會發生這種情況。也許有人看到我做錯了什麼?它看起來像一個簡單的循環,它只是打破。

陣列$input_filename

Array ( 
     [0] => Array ( 
         [0] => cheque_1.tiff 
         [1] => cheque_2.tiff 
     ) 
     [1] => Array ( 
         [0] => supportDoc_1_0.tiff 
         [1] => supportDoc_2_1.tiff 
         [2] => supportDoc_1_2.tiff 
         [3] => supportDoc_2_3.tiff 
        ) 
    ) 

代碼

for($i=0;$i<count($input_filename);$i++) 
{ 
    for($j=0;$j<count($input_filename[$i]);$i++) 
    { 
     $commands .= $command.$input_filepath.$input_filename[$i][$j]." ".rtrim($input_filepath.$input_filename[$i][$j], ".tiff").".jpg\n"; 
    } 
} 

結果

Undefined offset: 2 

急診室ror指向第二個for循環。

任何有關此問題的幫助是極大的讚賞, 謝謝

+1

你有一個$ i,你應該已經把$ j。但是,也許foreach循環更多的是你在找什麼? –

回答

2

大概只需要改變$i++$j++這裏:

for($j=0;$j<count($input_filename[$i]);$i++) 
+0

謝謝,我花了幾個小時盯着這個。 – ctwheels

0

我用的變量相同的值和編輯增量器變量對於內部循環它按預期工作。

$input_filename = array( 
    0 => array ( 
      0 => "cheque_1.tiff", 
      1 => "cheque_2.tiff" 
     ), 
    1 => array ( 
      0 => "supportDoc_1_0.tiff", 
      1 => "supportDoc_2_1.tiff", 
      2 => "supportDoc_1_2.tiff", 
      3 => "supportDoc_2_3.tiff", 
     ), 
    ); 

for($i=0;$i<count($input_filename);$i++) 
{ 
    for($j=0;$j<count($input_filename[$i]);$j++) 
    { 
     $commands .= $command.$input_filepath.$input_filename[$i][$j]." ".rtrim($input_filepath.$input_filename[$i][$j], ".tiff").".jpg\n"; 
    } 
} 

echo $commands;