Re: PHP 5.3 bug or changed feature??

From: Date: Sat, 08 Dec 2007 20:15:24 +0000
Subject: Re: PHP 5.3 bug or changed feature??
References: 1  Groups: php.internals 
Request: Send a blank email to internals+get-33870@lists.php.net to get a copy of this message
Hi Frank, please open a bugreport about this issue. This would start the internal process of verifying this. -- Marco On Dec 7, 2007 11:09 PM, Frank M. Kromann <frank@kromann.info> wrote: > Hello Everyon, > > Casting a SimpleXML object to an array gives different results in PHP > 5.2.5 and PHP 5.3-dev. > > Source: > > $xml = simplexml_load_file("sample.xml"); > > foreach($xml->column as $column) { > var_dump($column); > var_dump((array)$column); > } > > sample.xml > > ?xml version="1.0"?> > <cpdata> > <column name="ENTERTAINMENT"> > <module>cv</module> > <module>entsimp</module> > </column> > <column name="SEAT CONTROL"> > <module>pp</module> > <module>sc</module> > </column> > </cpdata> > > PHP 5.2 output: > object(SimpleXMLElement)#4 (2) { > ["@attributes"]=> > array(1) { > ["name"]=> > string(13) "ENTERTAINMENT" > } > ["module"]=> > array(2) { > [0]=> > string(2) "cv" > [1]=> > string(7) "entsimp" > } > } > array(2) { > ["@attributes"]=> > array(1) { > ["name"]=> > string(13) "ENTERTAINMENT" > } > ["module"]=> > array(2) { > [0]=> > string(2) "cv" > [1]=> > string(7) "entsimp" > } > } > object(SimpleXMLElement)#5 (2) { > ["@attributes"]=> > array(1) { > ["name"]=> > string(12) "SEAT CONTROL" > } > ["module"]=> > array(2) { > [0]=> > string(2) "pp" > [1]=> > string(2) "sc" > } > } > array(2) { > ["@attributes"]=> > array(1) { > ["name"]=> > string(12) "SEAT CONTROL" > } > ["module"]=> > array(2) { > [0]=> > string(2) "pp" > [1]=> > string(2) "sc" > } > } > > PHP 5.3 output: > > object(SimpleXMLElement)#4 (2) { > ["@attributes"]=> > array(1) { > ["name"]=> > string(13) "ENTERTAINMENT" > } > ["module"]=> > array(2) { > [0]=> > string(2) "cv" > [1]=> > string(7) "entsimp" > } > } > array(1) { > ["module"]=> > array(2) { > [0]=> > string(2) "cv" > [1]=> > string(7) "entsimp" > } > } > object(SimpleXMLElement)#5 (2) { > ["@attributes"]=> > array(1) { > ["name"]=> > string(12) "SEAT CONTROL" > } > ["module"]=> > array(2) { > [0]=> > string(2) "pp" > [1]=> > string(2) "sc" > } > } > array(1) { > ["module"]=> > array(2) { > [0]=> > string(2) "pp" > [1]=> > string(2) "sc" > } > } > > Not that the attributes are gone when SimpleXML objects are converted in > PHP 5.3. Is this a bug or a feature change? > > - Frank > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php > > -- Marco Kaiser

« previous php.internals (#33870) next »