[prev in list] [next in list] [prev in thread] [next in thread]
List: php-doc-bugs
Subject: [DOC-BUGS] Doc #67469 [Asn->Csd]: json_encode changed behaviour in 5.5
From: bukka () php ! net
Date: 2017-04-28 19:33:52
Message-ID: 201704281933.v3SJXqD3027077 () sgrv20 ! php ! net
[Download RAW message or body]
Edit report at https://bugs.php.net/bug.php?id=67469&edit=1
ID: 67469
Updated by: bukka@php.net
Reported by: martin at ringehahn dot de
Summary: json_encode changed behaviour in 5.5
-Status: Assigned
+Status: Closed
Type: Documentation Problem
Package: JSON related
PHP Version: 5.5.13
Assigned To: bukka
Block user comment: N
Private report: N
Previous Comments:
------------------------------------------------------------------------
[2017-03-31 17:45:09] bukka@php.net
Fix committed to docs:
Revision: http://svn.php.net/viewvc/?view=revision&revision=342210
Log: Fix doc bug #67496 (json_encode changed behaviour in 5.5)
P.S. Sorry for the wrong bug number in comment above (not 67496 but 67469...)
------------------------------------------------------------------------
[2014-06-20 12:55:26] martin at ringehahn dot de
@arjen
This is filed as a "Doc Bug" for a reason. Your link shows that between 5.4.29 \
http://3v4l.org/SIlJo#v536 (most recent 5.4) and 5.5.0 http://3v4l.org/SIlJo#v550this \
function has changed its behaviour. This has not been documented anywhere. \
Specifically: http://ca3.php.net/manual/en/migration55.changed-functions.php or \
http://ca3.php.net/manual/en/migration55.incompatible.php do not mention this change \
of behaviour.
------------------------------------------------------------------------
[2014-06-20 08:13:33] arjen at react dot com
Your expected result was only the case for PHP 5.3.14, which was the result of not \
reverting a fix on time (see https://bugs.php.net/bug.php?id=61537)
http://3v4l.org/SIlJo#v5314
Documentation could be updated, but the current behaviour seems fine to me.
------------------------------------------------------------------------
[2014-06-18 20:06:33] martin at ringehahn dot de
Description:
------------
It appears that in 5.5, "#61537 json_encode() incorrectly truncates/discards \
information" has been addressed. php 5.4 and 5.3 also had this patch at some point \
but it was reverted later. I assume this was done for not breaking backcompat in \
point releases.
However, the php 5.5 Changelog fails to mentioned that json_encode changed behaviour \
and now behaves as documented. specifically: "Returns a JSON encoded string on \
success or FALSE on failure."
the documentation also fails to mention the new constant \
`JSON_PARTIAL_OUTPUT_ON_ERROR`. well, it actually mentions it by referencing to it \
but it is not listed as a proper item.
Test script:
---------------
echo json_encode(["foo" => chr(132), "bar" => "bar"]);
// nothing, false
// this used to return "Expected result"
Expected result:
----------------
since the Changelog does not mention anything json-related, I'd expect the same \
behaviour as in previous versions:
echo json_encode(["foo" => chr(132), "bar" => "bar"]);
PHP Warning: json_encode(): Invalid UTF-8 sequence in argument in php shell code on \
line 1 {"foo":null,"bar":"bar"}
Actual result:
--------------
false
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=67469&edit=1
--
PHP Documentation Bugs Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic