#32536 [Csd]: Unserialize() and booleans
| From: | AxelLuttgens at swing dot be | Date: | Mon, 04 Apr 2005 10:40:54 +0000 |
| Subject: | #32536 [Csd]: Unserialize() and booleans | ||
| References: | 1 | Groups: | php.doc |
| Request: | Send a blank email to phpdoc+get-969367389@lists.php.net to get a copy of this message | ||
ID: 32536
User updated by: AxelLuttgens at swing dot be
Reported By: AxelLuttgens at swing dot be
Status: Closed
Bug Type: Documentation problem
Operating System: n/a
PHP Version: 4.3.10
New Comment:
And many thanks to both of you, vrana and didou!
Axel
Previous Comments:
------------------------------------------------------------------------
[2005-04-04 11:19:54] vrana@php.net
This bug has been fixed in the documentation's XML sources. Since the
online and downloadable versions of the documentation need some time
to get updated, we would like to ask you to be a bit patient.
Thank you for the report, and for helping us make our documentation
better.
"FALSE is returned both in the case of an error and if unserializing
the serialized FALSE value. This special case can be catched by
comparing str parameter with serialize(false) or by catching the issued
E_NOTICE."
------------------------------------------------------------------------
[2005-04-01 17:30:45] didou@php.net
I think we really should add the last sentence of Axel
before closing the bug.
------------------------------------------------------------------------
[2005-04-01 17:14:38] vrana@php.net
This bug has been fixed in the documentation's XML sources. Since the
online and downloadable versions of the documentation need some time
to get updated, we would like to ask you to be a bit patient.
Thank you for the report, and for helping us make our documentation
better.
------------------------------------------------------------------------
[2005-04-01 17:09:05] AxelLuttgens at swing dot be
Description:
------------
The docs state that unserialize() may return an integer, float, string,
array or object.
But it may also return a boolean:
$bool = TRUE;
$serbool = serialize($bool);
$unserbool = unserialize($serbool);
echo $serbool, '/', gettype($unserbool), '/', $unserbool? 'TRUE':
'FALSE';
--> b:1;/boolean/TRUE
Changing TRUE to FALSE in the above yields:
--> b:0;/boolean/FALSE
The problem is that a FALSE value is by itself undistinguishable from
an unserialization error, not that unserialize() cant' return a
boolean.
HTH,
Axel
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=32536&edit=1