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 <[EMAIL PROTECTED]> 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