Bug #29500 [Com]: Accessing object elements returns object
| From: | stu at dyndev dot co dot nz | Date: | Tue, 31 May 2011 09:22:09 +0000 |
| Subject: | Bug #29500 [Com]: Accessing object elements returns object | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-161069@lists.php.net to get a copy of this message | ||
Edit report at http://bugs.php.net/bug.php?id=29500&edit=1
ID: 29500
Comment by: stu at dyndev dot co dot nz
Reported by: lists at cyberlot dot net
Summary: Accessing object elements returns object
Status: Wont fix
Type: Bug
Package: SimpleXML related
Operating System: Fedora Core 2
PHP Version: 5.0.0
Block user comment: N
Private report: N
New Comment:
This intentional bug is still there, I cannot for the life of me see why
it would be that way or why it's still not documented all these years
later.
Previous Comments:
------------------------------------------------------------------------
[2004-08-03 15:39:41] lists at cyberlot dot net
Ok it is impossible to modify the simpleobject once creating which means
you can't add anything to the xml.
Is this a desired affect as well?
------------------------------------------------------------------------
[2004-08-03 15:29:03] lists at cyberlot dot net
Im not signed up for that list...
The online docs badly need updating then.
1. To express the need to use typecasting depending on how you access
the variable.
2. That you can no longer "change" the simplexml object like explained
in example 7
------------------------------------------------------------------------
[2004-08-03 12:01:13] chregu@php.net
That's by design and was discussed on
internals@lists.php.net
------------------------------------------------------------------------
[2004-08-03 05:23:22] lists at cyberlot dot net
http://us3.php.net/manual/en/ref.simplexml.php
In trying to get this working I played with the examples from this
page.
Example 7 returns the following error
Fatal error: Objects used as arrays in post/pre increment/decrement must
return values by reference in /root/test.php on line 29
------------------------------------------------------------------------
[2004-08-03 05:15:42] lists at cyberlot dot net
Description:
------------
When using simplexml to access a element the returned object it returns
a object instead of a string
Have to type cast it as a (string) to get the information back, Should
not have to typecast.
If a typecast is required it should be specificed in the docs.
Reproduce code:
---------------
$string = <<<XML
<?xml version='1.0'?>
<document>
<cmd>login</cmd>
<login>Richard</login>
</document>
XML;
$xml = simplexml_load_string($string);
print_r($xml);
$login = $xml->login;
print_r($login);
$login = (string) $xml->login;
print_r($login);
Expected result:
----------------
SimpleXMLElement Object
(
[cmd] => login
[login] => Richard
)
Richard
Richard
Actual result:
--------------
SimpleXMLElement Object
(
[cmd] => login
[login] => Richard
)
SimpleXMLElement Object
(
[0] => Richard
)
Richard
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/bug.php?id=29500&edit=1