Bug #74549 [NEW]: PHP references cause unexpected results
| From: | winbill at hotmail dot com | Date: | Sat, 06 May 2017 10:30:13 +0000 |
| Subject: | Bug #74549 [NEW]: PHP references cause unexpected results | ||
| Groups: | php.bugs | ||
| Request: | Send a blank email to php-bugs+get-208966@lists.php.net to get a copy of this message | ||
From: winbill at hotmail dot com
Operating system: centos
PHP version: 7.0Git-2017-05-06 (snap)
Package: Scripting Engine problem
Bug Type: Bug
Bug description:PHP references cause unexpected results
Description:
------------
PHP references cause unexpected results
I tested the following script under php 5.3 & 5.6 & 7.0.17
All of them, c2 output {"foo":2}, not {"foo":1}
$a = array('foo' => 1);
$c1 = $a;
$b = &$a['foo'];
$c2 = $a;
$b = 2;
printf("c1:%s\n", json_encode($c1));
printf("c2:%s\n", json_encode($c2)); // output c2:{"foo":2} !
Test script:
---------------
$a = array('foo' => 1);
$c1 = $a;
$b = &$a['foo'];
$c2 = $a;
$b = 2;
printf("c1:%s\n", json_encode($c1));
printf("c2:%s\n", json_encode($c2)); // output c2:{"foo":2} !
Expected result:
----------------
c1:{"foo":1}
c2:{"foo":1}
Actual result:
--------------
c1:{"foo":1}
c2:{"foo":2}
--
Edit bug report at https://bugs.php.net/bug.php?id=74549&edit=1
--
Try a snapshot (PHP 5.4): https://bugs.php.net/fix.php?id=74549&r=trysnapshot54
Try a snapshot (PHP 5.5): https://bugs.php.net/fix.php?id=74549&r=trysnapshot55
Try a snapshot (trunk): https://bugs.php.net/fix.php?id=74549&r=trysnapshottrunk
Fixed in SVN: https://bugs.php.net/fix.php?id=74549&r=fixed
Fixed in release: https://bugs.php.net/fix.php?id=74549&r=alreadyfixed
Need backtrace: https://bugs.php.net/fix.php?id=74549&r=needtrace
Need Reproduce Script: https://bugs.php.net/fix.php?id=74549&r=needscript
Try newer version: https://bugs.php.net/fix.php?id=74549&r=oldversion
Not developer issue: https://bugs.php.net/fix.php?id=74549&r=support
Expected behavior: https://bugs.php.net/fix.php?id=74549&r=notwrong
Not enough info: https://bugs.php.net/fix.php?id=74549&r=notenoughinfo
Submitted twice: https://bugs.php.net/fix.php?id=74549&r=submittedtwice
register_globals: https://bugs.php.net/fix.php?id=74549&r=globals
PHP 4 support discontinued: https://bugs.php.net/fix.php?id=74549&r=php4
Daylight Savings: https://bugs.php.net/fix.php?id=74549&r=dst
IIS Stability: https://bugs.php.net/fix.php?id=74549&r=isapi
Install GNU Sed: https://bugs.php.net/fix.php?id=74549&r=gnused
Floating point limitations: https://bugs.php.net/fix.php?id=74549&r=float
No Zend Extensions: https://bugs.php.net/fix.php?id=74549&r=nozend
MySQL Configuration Error: https://bugs.php.net/fix.php?id=74549&r=mysqlcfg