[nycphp-talk] Trouble with Array of Objects
Chris Snyder
chris at psydeshow.org
Tue May 27 17:10:59 EDT 2003
Scratching head... have you tried $meetings[] = new Meeting ( etc.); ??
Not that it should matter, of course.
Also, are you PHP 4.3.1? (And not 4.3.2RC4?)
Christopher R. Merlo wrote:
>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.
>
>
More information about the talk
mailing list