PHP多维数组未定义的偏移量错误

时间:2015-06-16 22:24:49

标签: php multidimensional-array

好的,所以我有一个多维数组,如下所示。 for循环遍历它并在我的变量中添加一行。

$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

错误指向第二个for循环。

非常感谢有关此问题的任何帮助, 谢谢

2 个答案:

答案 0 :(得分:2)

可能只需要将$i++更改为$j++

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

答案 1 :(得分:0)

我对变量使用了相同的值,并为内部循环编辑了incrementor变量,它按预期工作。

$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;