[nycphp-talk] Trouble with Array of Objects
Christopher R. Merlo
cmerlo at turing.matcmp.ncc.edu
Tue May 27 17:00:33 EDT 2003
On 2003-05-27 16:50 -0400, Bhulipongsanon, Pinyo <Pinyo.Bhulipongsanon at usa.xerox.com> wrote:
> for ( $i = 0 ; $i <= 4 ; $i++ ) {
> $myArray[$i] = codeToCreateObject();
> }
>
> I am not sure if this will help? Can I see your code?
I'll give you the highlights, and spare you most of the MySQL stuff.
Here's the class def:
class Meeting {
var $day;
var $start;
var $end;
var $dept;
var $course;
var $building;
var $room;
function Meeting( $day, $start, $end,
$dept, $course, $section,
$building, $room ) {
$this->day = $day;
$this->start = $start;
$this->end = $end;
$this->dept = $dept;
$this->course = $course;
$this->building = $building;
$this->room = $room;
print "<p>" . $this->toString( ) . "</p>\
";
}
function toString( ) {
return date( "g:i a", strtotime( $this->start ) ) . " to "
. date( "g:i a", strtotime( $this->end ) ) . ": $this->dept "
. "$this->course $this->section in $this->building $this->room";
}
} // class Meeting
And here's the relevant code:
$meetings = array( );
// some more stuff
foreach( $day_names as $day=>$name ) {
$day_query = "select * from meetings where id = \\"{$sec_row[ "$day" ]}\\"";
$day_result = @mysql_query( $day_query );
$day_row = @mysql_fetch_assoc( $day_result );
if( !is_null( $day_row[ 'start' ] ) ) {
$meetings[ $meeting_count ] =
new Meeting( $name, $day_row[ 'start' ], $day_row[ 'end' ],
$course_row[ 'dept' ], $course_row[ 'course' ],
$sec_row[ 'section' ], $day_row[ 'building' ],
$day_row[ 'room' ] );
$meeting_count++;
}
}
}
Here's what I get on the page. First, the results of the constructor
being called five times:
8:00 am to 10:50 am: CMP 103 in B 113
8:00 am to 10:50 am: CMP 103 in B 119
8:00 am to 10:50 am: CMP 103 in B 113
8:00 am to 10:50 am: CMP 103 in B 119
8:00 am to 10:50 am: CMP 218 in B 113
And then the result of print_r( $meetings ):
Array ( [4] => meeting Object ( [day] => Friday [start] => 08:00:00
[end] => 10:50:00 [dept] => CMP [course] => 218 [building] => B [room]
=> 113 ) )
And I'm at a loss.
--
cmerlo at turing.matcmp.ncc.edu http://turing.matcmp.ncc.edu/~cmerlo
We're sorry, but the number you have dialed is imaginary. Please
rotate your phone ninety degrees and try again. Thank you.
More information about the talk
mailing list