ID: 45890
Updated by: [EMAIL PROTECTED]
Reported By: vans9 at yandex dot ru
-Status: Open
+Status: Bogus
Bug Type: SimpleXML related
Operating System: FreeBSD 6.2
PHP Version: 5.2.6
New Comment:
The $classes->class isn't an array.
Warning: current() expects parameter 1 to be array, object given
Warning: next() expects parameter 1 to be array, object given
...
Use:
foreach ($classes->class as $class) {
var_dump($class);
}
And see the examples at:
http://docs.php.net/manual/en/simplexml.examples.php
Thanks.
Previous Comments:
------------------------------------------------------------------------
[2008-08-22 08:06:14] vans9 at yandex dot ru
And if you look at the output, printing the <class> entries is
expected, but class-sub-entries are printed with current, and next.
------------------------------------------------------------------------
[2008-08-22 07:58:01] vans9 at yandex dot ru
Description:
------------
While trying to iterate SimpleXML's object property (array) with
next(), memory exhausted.
Reproduce code:
---------------
$classes=new SimpleXMLElement("<?xml version=\"1.0\"
encoding=\"utf-8\"?>
<classes>
<class>
<name>GenericClass</name>
<path>somepath</path>
</class>
<class>
<name>GenericClass2</name>
<path>somepath2</path>
</class>
<class>
<name>GenericClass3</name>
<path>somepath3</path>
</class>
</classes>
");
for ($classEntry=current($classes->class); $classEntry!==false;
$classEntry=next($classes->class))
{
print_r($classEntry);
echo "\n";
}
echo 'Done smth.';
Expected result:
----------------
Expected: <class> elements of <classes> xml entry being printed.
Actual result:
--------------
Lot's of output and than "Allowed memory size of 134217728 bytes
exhausted (tried to allocate 16 bytes)". Output may be ommited, but
problem persists.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=45890&edit=1