Forum Moderators: coopster
I'm stepping through each loop but I'm stuck on the first one.
My array is this-
$_VOLDATE = array
(
126 => array
('October' => array
('10/19/2009' => 'Monday, October 19:4pm - 8pm',
'10/20/2009' => 'Tuesday, October 20:4pm - 8pm',
'10/21/2009' => 'Wednesday, October 21:4pm - 8pm',
'10/22/2009' => 'Thursday, October 15:4pm - 8pm',),
'November' => array
('11/2/2009' => 'Monday, November 2:4pm - 8pm',
'11/3/2009' => 'Tuesday, November 3:4pm - 8pm',
'11/4/2009' => 'Wednesday, November 4:4pm - 8pm',
'11/5/2009' => 'Thursday, November 5:4pm - 8pm',),
),220 => array
('November' => array
('11/16/2009' => 'Monday, November 16:4:30pm - 8:30pm',
'11/17/2009' => 'Tuesday, November 17:4:30pm - 8:30pm',
'11/19/2009' => 'Thursday, November 19:4:30pm - 8:30pm',
'11/30/2009' => 'Monday, November 30:4:30pm - 8:30pm',),
'December' => array
('12/1/2009' => 'Tuesday, December 1:4:30pm - 8:30pm',
'12/2/2009' => 'Wednesday, December 2:4:30pm - 8:30pm',
'12/3/2009' => 'Thursday, December 3:4:30pm - 8:30pm',),
)
);
When I run this code -
foreach ($_VOLDATE as $ids => $id)
{
echo "id ".print_r($id)."<br>";
}
I get this back -
Array ( [October] => Array ( [10/19/2009] => Monday, October 19: 4pm - 8pm [10/20/2009] => Tuesday, October 20: 4pm - 8pm [10/21/2009] => Wednesday, October 21: 4pm - 8pm [10/22/2009] => Thursday, October 15: 4pm - 8pm ) [November] => Array ( [11/2/2009] => Monday, November 2: 4pm - 8pm [11/3/2009] => Tuesday, November 3: 4pm - 8pm [11/4/2009] => Wednesday, November 4: 4pm - 8pm [11/5/2009] => Thursday, November 5: 4pm - 8pm ) ) id 1
Array ( [November] => Array ( [11/16/2009] => Monday, November 16: 4:30pm - 8:30pm [11/17/2009] => Tuesday, November 17: 4:30pm - 8:30pm [11/19/2009] => Thursday, November 19: 4:30pm - 8:30pm [11/30/2009] => Monday, November 30: 4:30pm - 8:30pm ) [December] => Array ( [12/1/2009] => Tuesday, December 1: 4:30pm - 8:30pm [12/2/2009] => Wednesday, December 2: 4:30pm - 8:30pm [12/3/2009] => Thursday, December 3: 4:30pm - 8:30pm ) ) id 1
Shouldn't I be getting back -
Array ( [126] => Array ([October => Array => Monday ...etc?
What have I missed?
Thanks for any help, I've killed myself just getting this far!
ps- I do need to type in the day options, they don't follow any logic that would allow me to use date functions.
In your foreach statement, the $ids variable will be the numeric key before each month, in your case, '126' for October. The print_r function is looking at the array that key 126 points to, so it's won't print out 126.
If you wanted to see the whole thing, you could just do a print_r($_VOLDATE).
Does that help?
edit:
Also useful is doing something like:
echo '<pre>';
print_r($_VOLDATE);
echo '</pre>';
<?php
$_VOLDATE = array
(
126 => array
('October' => array
('10/19/2009' => 'Monday, October 19:4pm - 8pm',
'10/20/2009' => 'Tuesday, October 20:4pm - 8pm',
'10/21/2009' => 'Wednesday, October 21:4pm - 8pm',
'10/22/2009' => 'Thursday, October 15:4pm - 8pm',),
'November' => array
('11/2/2009' => 'Monday, November 2:4pm - 8pm',
'11/3/2009' => 'Tuesday, November 3:4pm - 8pm',
'11/4/2009' => 'Wednesday, November 4:4pm - 8pm',
'11/5/2009' => 'Thursday, November 5:4pm - 8pm',)
)
);
print_r($_VOLDATE);
echo "<br /><br />";
foreach ($_VOLDATE as $ids => $id)
{
echo "id ".print_r($id)."<br>";
}
?>
--Warning: Invalid argument supplied for foreach()-- on the foreach ($months....) line.
I want to end up with 2 drop downs (more in the real-life project). This is the loop-
foreach ($_VOLDATE as $locs => $loc)
{
echo("<select name='sel_date' id='$loc';' >");
echo '<option></option>';
foreach ($months as $month => $dates)
{
echo "<optgroup label=\"$month\">";
foreach ($dates as $date => $text)
{
echo "<option value='$date'>$text</option>";
}
echo '</optgroup>';
}
}
The way I have it mapped out looks logical to me, so I can't
see where I've gone wrong.
Thanks for helping, I've pretty much hit the wall here.