Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:33917 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 22816 invoked by uid 1010); 10 Dec 2007 22:08:28 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 22801 invoked from network); 10 Dec 2007 22:08:28 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 10 Dec 2007 22:08:28 -0000 Authentication-Results: pb1.pair.com header.from=frank@kromann.info; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=frank@kromann.info; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain kromann.info designates 68.225.30.57 as permitted sender) X-PHP-List-Original-Sender: frank@kromann.info X-Host-Fingerprint: 68.225.30.57 wsip-68-225-30-57.oc.oc.cox.net Received: from [68.225.30.57] ([68.225.30.57:51995] helo=mail.kromann.info) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 81/22-10545-BD8BD574 for ; Mon, 10 Dec 2007 17:08:28 -0500 Received: from warp (unknown [68.225.30.59]) by mail.kromann.info (Postfix) with SMTP id B297823EC75; Mon, 10 Dec 2007 14:08:24 -0800 (PST) To: Marcus Boerger Cc: , , Rob Richards X-Mailer: Swwwing 2000 Message-ID: <11973245196760000@9866357972520000.9866341568840000> MIME-Version: 1.0 Reply-To: "Frank M. Kromann" Date: Mon, 10 Dec 2007 14:08:39 -0800 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] PHP 5.3 bug or changed feature?? From: frank@kromann.info ("Frank M. Kromann") Hi Marcus, Will there be another way to do this or will they only be accessible from the object? - Frank > Hello Rob, > > this is intended. The 5.2 solution is just a hack and returns a wrong > result in the first place. The hack was however introduced to make > development easier. Now with 5.3 we were able to change the API and coudl > apply the solution that was first developed in HEAD. > > marcus > > Sunday, December 9, 2007, 1:22:09 PM, you wrote: > > > Hi Frank, > > > Frank M. Kromann wrote: > >> Hello Everyon, > >> > >> Casting a SimpleXML object to an array gives different results in PHP > >> 5.2.5 and PHP 5.3-dev. > >> > > This is due to the implementation of the get_debug_info handler merged > > from HEAD. > > The same result happens when calling get_object_vars on a > > SimpleXMLElement object. > > > Marcus, was it intended to only include @attributes with print_r/var_dump? > > > Rob > >> 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"?> > >> > >> > >> cv > >> entsimp > >> > >> > >> pp > >> sc > >> > >> > >> > >> 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 > >> > >> > > > > > Best regards, > Marcus > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php > >