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