我写了一个包含许多内容的表单,然后使用foreach来获取信息。 到目前为止,我的foreach工作得很好,但如果我使用foreach之外的信息,我会得到一些奇怪的数据。
这是我的代码,只包含foreach和数据提取:
foreach ($_POST['number3'] as $id1 => $array) {
foreach ($array as $id2 => $alpha) {
foreach ($alpha as $id3 => $gama) {
$_SESSION['number3'][$id1][$id2][$id3] = $gama;
echo 'The value of $_SESSION["'.$id1.'"]["'.$id2.'"] ["'.$id3.'"] is '."'".$gama."'".' <br />';
}
}
}
for ($i = 1; $i <= $_SESSION["number"]; $i++) {
echo "Numero ";
echo $i;
echo "<br />";
for ($j = 1; $j <= $_SESSION["number2_{$i}"]; $j++) {
echo "Letter ";
echo $j;
echo ": ";
for ($id = 0; $id <= $_SESSION["id"]; $id++) {
echo "value: ";
echo " ";
echo $_SESSION['number3'][$i][$j][$id];
}
echo "<br />";
}
}
我的foreach中的回声我会得到这样的数据:
The value of $_SESSION["1"]["1"] ["0"] is '13:01'
The value of $_SESSION["1"]["1"] ["1"] is '01:01'
The value of $_SESSION["1"]["1"] ["2"] is '1'
The value of $_SESSION["1"]["2"] ["0"] is '14:02'
The value of $_SESSION["1"]["2"] ["1"] is '02:02'
The value of $_SESSION["1"]["2"] ["2"] is '2'
The value of $_SESSION["1"]["3"] ["0"] is '15:03'
The value of $_SESSION["1"]["3"] ["1"] is '03:03'
The value of $_SESSION["1"]["3"] ["2"] is '3'
这就是我想要的,所以这里没问题。但是,当我执行for循环时,我得到了这个:
Numero 1
Letter 1: value: 13:01 value: 01:01 value: 1
Letter 2: value: 1 value: 0 value: 2
Letter 3: value: 15:03 value: 03:03 value: 3
对于字母2,数据2的第一个值是错误的,我不明白为什么一切正常后。 你有什么建议吗? 感谢
答案 0 :(得分:0)
$ _SESSION ['number3'] [$ id1] [$ id2] [$ id3]的值赋值必定有问题。您可以在代码中尝试使用“var_dump”或“var_export”来了解$ _SESSION的实际数据结构,看看是否分配了错误的键或某处更改了此值。
仅从上面的代码中,我找不到任何错误,但我确信这不是一个难题,请尝试运行&amp; var_dump&amp;调试它。