使用foreach之外的数据

时间:2013-07-19 02:51:20

标签: php loops foreach

我写了一个包含许多内容的表单,然后使用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的第一个值是错误的,我不明白为什么一切正常后。 你有什么建议吗? 感谢

1 个答案:

答案 0 :(得分:0)

$ _SESSION ['number3'] [$ id1] [$ id2] [$ id3]的值赋值必定有问题。您可以在代码中尝试使用“var_dump”或“var_export”来了解$ _SESSION的实际数据结构,看看是否分配了错误的键或某处更改了此值。

仅从上面的代码中,我找不到任何错误,但我确信这不是一个难题,请尝试运行&amp; var_dump&amp;调试它。