Jun 15 2010 · PHP
I stumbled upon this error earlier today as I attempted to store the value of a SimpleXMLElement as a session variable. I was able to narrow down the issue thanks to this post on bytes.com.
According to a user post on the PHP site, this occurs because SimpleXML returns a reference to an object containing the node value, and you can’t store a reference as a session variable. The value must be dereferenced and copied which can be done by casting.
// Bad! $storageBoxSize = $xml->data->storage_box_size;
// Good! $storageBoxSize = (int)$xml->data->storage_box_size;
I find myself hating loosely-typed languages more and more.