好的,所以我有一个多维数组,如下所示。for 循环遍历它并向我的变量添加一行。
$command
和$commands
存在。函数的其余部分都是正确的。我的数组被正确创建,$input_filepath
指向存在的变量。
我一辈子都想不通为什么会这样。也许有人看到我做错了什么?对我来说,它看起来像一个简单的 for 循环,它只是中断了。
阵列$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 循环。
非常感谢有关此问题的任何帮助,谢谢
可能只需要在此处将$i++
更改为$j++
:
for($j=0;$j<count($input_filename[$i]);$i++)
我对变量使用相同的值,并为内部循环编辑增量变量,它按预期工作。
$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;