好的,所以我有一个多维数组,如下所示。 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循环。
非常感谢有关此问题的任何帮助, 谢谢
答案 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;