#32536 [Opn->Csd]: Unserialize() and booleans
| From: | vrana@php.net | Date: | Mon, 04 Apr 2005 09:19:56 +0000 |
| Subject: | #32536 [Opn->Csd]: Unserialize() and booleans | ||
| References: | 1 | Groups: | php.doc |
| Request: | Send a blank email to phpdoc+get-969367737@lists.php.net to get a copy of this message | ||
ID: 32536
Updated by: vrana@php.net
Reported By: AxelLuttgens at swing dot be
-Status: Open
+Status: Closed
Bug Type: Documentation problem
Operating System: n/a
PHP Version: 4.3.10
New Comment:
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."
Previous Comments:
------------------------------------------------------------------------
[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