Bug #61335 [Com]: Access to array node returns wrong truth value

From: Date: Sat, 10 Mar 2012 00:00:29 +0000
Subject: Bug #61335 [Com]: Access to array node returns wrong truth value
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-168319@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=61335&edit=1 ID: 61335 Comment by: me at ktamura dot com Reported by: mueller at relog dot ch Summary: Access to array node returns wrong truth value Status: Open Type: Bug Package: SimpleXML related Operating System: Linux PHP Version: 5.4.0 Block user comment: N Private report: N New Comment: I think this bug is related to https://bugs.php.net/bug.php?id=51615 Previous Comments: ------------------------------------------------------------------------ [2012-03-09 18:00:28] mueller at relog dot ch I forgot: Omitting the [0] array access will also fix the problem. ------------------------------------------------------------------------ [2012-03-09 17:57:50] mueller at relog dot ch Description: ------------ When accessing a simplexml node as array, I always get an empty simplexml object. If I cast the node to string, the behaviour is correct. If the parent node contains nothing but the child node (not even a newline) then the behaviour is also correct. Under php 5.3, the behaviour is correct. Test script: --------------- $rec1 = simplexml_load_string("<foo><bar>aa</bar>\n</foo>"); $rec2 = simplexml_load_string("<foo><bar>aa</bar></foo>"); if ($rec1->bar[0]) echo "NONEMPTY1\n"; # not reached, bug if ($rec1->bar[0] . "") echo "NONEMPTY2\n"; # correct if ($rec2->bar[0]) echo "NONEMPTY3\n"; # correct Expected result: ---------------- NONEMPTY1 NONEMPTY2 NONEMPTY3 Actual result: -------------- NONEMPTY2 NONEMPTY3 ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=61335&edit=1

« previous php.bugs (#168319) next »