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