ID:               16199
 Updated by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
 Status:           Feedback
 Bug Type:         Scripting Engine problem
 Operating System: FreeBSD 4.5
 PHP Version:      4.1.2
 New Comment:

The way you set it up looks correct, but when I print the value of the
inner loop.  It does, in fact only print the value of 2, then stops.  I
can continue to reproduce this on 2 of my BSD machines, and quite
honestly, the code does look ok.

--Paul


Previous Comments:
------------------------------------------------------------------------

[2002-03-21 00:30:48] [EMAIL PROTECTED]

Can't reproduce on Linux using 4.0.6/4.1.0/4.2.0 or Windows XP
w/4.0.6.

I get 0 and 1 as expected.  Of course without the original data I can't
figure anything out I had to rebuild the data from your print_r output
to this.

$SESSION_DATA = array(
"Domain" => "www.test.com",
"Start IP" => "64.24.23.32",
"End IP" => "6.23.23.23",
"Netmask" => "255.255.255.255",
"Number of Disks" => 2,
"Disk Type" => "ide",
"Enable Raid" => "Y",
"Disk Sizes" => array(
        0 => array ("SIZE" => 40,
                "/" => 39,
                "Swap" => 1),
        1 => array("SIZE" => 40,
                "/home" => 40)
        )
);

Yeah, it probably is you ;)
Here's my output

Domain<br>www.test.com<br>
Start IP<br>64.24.23.32<br>
End IP<br>6.23.23.23<br>
Netmask<br>255.255.255.255<br>
Number of Disks<br>2<br>
Disk Type<br>ide<br>
Enable Raid<br>Y<br>
Disk Sizes<br>040<br>
140<br>

-Chris

------------------------------------------------------------------------

[2002-03-21 00:10:43] [EMAIL PROTECTED]

Please see below.  I have included all information possible that could
be of assistance.  This looks possibly like, the array is too deep, or
perhaps a type not being an int, but I honestly think it's something
else.  I hope it's not me.  I've been staring at this for a long time
and had other look at it.  :)  Thanks Paul


/* This is the output from print_r that in the function below */

Array ( [Domain] => www.test.com [Start IP] => 64.24.23.32 [End IP] =>
6.23.23.23 [Netmask] => 255.255.255.255 [Number of Disks] => 2 [Disk
Type] => ide [Enable Raid] => Y [Disk Sizes] => Array ( [0] => Array (
[SIZE] => 40 [/] => 39 [Swap] => 1 ) [1] => Array ( [SIZE] => 40
[/home] => 40 ) ) ) 

function do_last(){
    global $SESSION_DATA

    /* See above for output -- Used for debugging 
    print_r($SESSION_DATA); */

    while(list($key,$value) = each($SESSION_DATA)){
         print $key . "<br>";

         /* Handle a special key */
         if($key == "Disk Sizes"){

                 /* This following code should output 2 values that are
stored in the array, but if a un-comment out "print $a", the value is
initially 2.  What happened to it being 0? */ 
                 for($a=0;$a<count($SESSION_DATA[$key]);$a++){
                          //print $a;
                          print $SESSION_DATA[$key][$a]["SIZE"] .
"<br>";
                  }
          }
          else{
                  print $value . "<br>";
          }
     }

------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=16199&edit=1

Reply via email to