Bug #76588 [Com]: var_export change variable state
| From: | sukei13 at gmail dot com | Date: | Fri, 06 Jul 2018 13:37:47 +0000 |
| Subject: | Bug #76588 [Com]: var_export change variable state | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-216170@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=76588&edit=1
ID: 76588
Comment by: sukei13 at gmail dot com
Reported by: sukei13 at gmail dot com
Summary: var_export change variable state
Status: Open
Type: Bug
Package: *General Issues
PHP Version: Irrelevant
Block user comment: N
Private report: N
New Comment:
Doing further tests, it appears that the print_r function has the same behavior as var_export.
Previous Comments:
------------------------------------------------------------------------
[2018-07-06 13:30:04] sukei13 at gmail dot com
Description:
------------
The result of a comparison (soft: ==) between two date intervals change when the variable has been
exported (var_export) earlier. The var_export function affect the internal state of the DateInterval
object in some way. The following test script show this weird behavior. Note that this test has been
made on other objects too (such as DateTime or DateTimeImmutable) but DateInterval seems to be the
only object involved in this issue.
Test script:
---------------
<?php
$a = new DateInterval('P2Y4DT6H8M');
$b = new DateInterval('P2Y4DT6H8M');
var_dump($a == $b); // true
var_export($b, true);
var_dump($a == $b); // false
Expected result:
----------------
bool(true)
bool(true)
Actual result:
--------------
bool(true)
bool(false)
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=76588&edit=1