Re: PHP 5.3 bug or changed feature??
| From: | Marco Kaiser | 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