[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
Automatic Email Organization without missing anything!