ID: 27586 Updated by: [EMAIL PROTECTED] Reported By: ebay at webcrumb dot com -Status: Assigned +Status: Closed Bug Type: Class/Object related Operating System: * PHP Version: 5.0.0b4 (beta4) Assigned To: helly New Comment:
This bug has been fixed in CVS. Snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. Thank you for the report, and for helping us make PHP better. Previous Comments: ------------------------------------------------------------------------ [2004-03-13 11:35:38] ebay at webcrumb dot com Description: ------------ I'm not sure if I'm using ArrayObject correctly (I thought you could use the primitive type 'array' directly to fetch iterators initially but it seems that's not the case), but I can't tell due to the lack of documentation ... All latest service packs/patches are installed. Reproduce code: --------------- class StudentList implements IteratorAggregate { private $students; public function __construct() { $this->students = new ArrayObject( array() ); } public function add( Student $student ) { if( !$this->contains( $student ) ) { // XXXX: this causes the crash! $this->students[] = $student; } } // ... snip ... public function getIterator() { return $this->students->getIterator(); } } $students = new StudentList(); $students->add( new Student( '01234123', 'Joe', 'Blo', '[EMAIL PROTECTED]' ) ); $students->add( new Student( '00000014', 'Bob', 'Moe', '[EMAIL PROTECTED]' ) ); foreach( $students as $student ) { echo $student->getId(); // first parameter passed to the above constructors } Expected result: ---------------- This should print out "0123412300000014". Actual result: -------------- The Apache 2 service crashes hard. Resolved by: public function __construct() { $this->students = array(); } // ... snip ... public function getIterator() { $arr = new ArrayObject( $this->students ); return $arr->getIterator(); } Using this code, the expected result is printed out. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=27586&edit=1
