note 111168 added to function.serialize
| From: | nh at ngin dot de | Date: | Mon, 21 Jan 2013 21:59:42 +0000 |
| Subject: | note 111168 added to function.serialize | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-193306@lists.php.net to get a copy of this message | ||
Serializing floating point numbers leads to weird precision offset errors:
<?php
echo round(96.670000000000002, 2);
// 96.67
echo serialize(round(96.670000000000002, 2));
// d:96.670000000000002;
echo serialize(96.67);
// d:96.670000000000002;
?>
Not only is this wrong, but it adds a lot of unnecessary bulk to serialized data. Probably better to
use json_encode() instead (which apparently is faster than serialize(), anyway).
----
Server IP: 87.106.1.137
Probable Submitter: 89.182.56.29
----
Manual Page -- http://php.net/manual/en/function.serialize.php
Edit -- https://master.php.net/note/edit/111168
Del: integrated -- https://master.php.net/note/delete/111168/integrated
Del: useless -- https://master.php.net/note/delete/111168/useless
Del: bad code -- https://master.php.net/note/delete/111168/bad+code
Del: spam -- https://master.php.net/note/delete/111168/spam
Del: non-english -- https://master.php.net/note/delete/111168/non-english
Del: in docs -- https://master.php.net/note/delete/111168/in+docs
Del: other reasons-- https://master.php.net/note/delete/111168
Reject -- https://master.php.net/note/reject/111168
Search -- https://master.php.net/manage/user-notes.php