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

PHP多维数组未定义偏移量错误,php,multidimensional-array,Php,Multidimensional Array,好的,我有一个多维数组,如下所示。for循环遍历它,并向我的变量添加一行 $command和$commands存在。函数的其余部分都是正确的。我的数组被正确创建,并且$input\u filepath指向一个存在的变量 我一辈子都搞不懂为什么会发生这种事。也许有人看到我做错了什么?在我看来,这就像一个简单的for循环,它只是中断了 数组$input\u文件名 Array ( [0] => Array ( [0] =>

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

$command
$commands
存在。函数的其余部分都是正确的。我的数组被正确创建,并且
$input\u filepath
指向一个存在的变量

我一辈子都搞不懂为什么会发生这种事。也许有人看到我做错了什么?在我看来,这就像一个简单的for循环,它只是中断了

数组
$input\u文件名

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";
    }
}
错误指向第二个for循环

非常感谢您在这个问题上提供的任何帮助,
谢谢

可能只需要将
$i++
更改为
$j++
,如下所示:

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

for($j=0;$j我对变量使用了相同的值,并为内部循环编辑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;
$input\u filename=数组(
0=>数组(
0=>“支票\u 1.tiff”,
1=>“支票\u 2.tiff”
),
1=>数组(
0=>“supportDoc_1_0.tiff”,
1=>“supportDoc_2_1.tiff”,
2=>“supportDoc_1_2.tiff”,
3=>“supportDoc_2_3.tiff”,
),
);

对于($i=0;$i),您有一个$i,您应该在其中放置$j。但是,也许foreach循环更适合您的需要?谢谢,我花了几个小时盯着这个。
$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;