#40204 [Opn->Ana]: "Example 21-3. References with complex arrays" is wrong, and does in fact work
| From: | bjori@php.net | Date: | Tue, 23 Jan 2007 09:18:15 +0000 |
| Subject: | #40204 [Opn->Ana]: "Example 21-3. References with complex arrays" is wrong, and does in fact work | ||
| References: | 1 | Groups: | php.doc |
| Request: | Send a blank email to phpdoc+get-969375001@lists.php.net to get a copy of this message | ||
ID: 40204
Updated by: bjori@php.net
Reported By: frode at coretrek dot com
-Status: Open
+Status: Analyzed
Bug Type: Documentation problem
Operating System: Irrelevant
-PHP Version: Irrelevant
+PHP Version: 5.2
New Comment:
This is complicated issue and _not_ recommended.
The engine still has problem working with complex arrays
with references to it self and leaks tons of memory while
doing so.
The example itself works as of 5.1 but still leaks and
_can_ result in unexpected behavior.
Previous Comments:
------------------------------------------------------------------------
[2007-01-23 08:38:14] frode at coretrek dot com
Description:
------------
Exmaple 21-3 "References with complex arrays" as available on
http://www.php.net/manual/en/language.references.whatdo.php
is not
correct, at least not for PHP version 5.2.0.
The example claims to "not work as expected". But it does work as
expected (and contrary to the documented results). Also, even if the
example did "not work as expected", there is no explanation for why it
is not supposed to work, other than stating that complex arrays
"sometimes" (?!?) are copied.
Reproduce code:
---------------
<?php
// taken directly from Example 21-3
$top = array(
'A' => array(),
'B' => array(
'B_b' => array(),
),
);
$top['A']['parent'] = &$top;
$top['B']['parent'] = &$top;
$top['B']['B_b']['data'] = 'test';
print_r($top['A']['parent']['B']['B_b']); // array()
?>
Expected result:
----------------
According to the documentation:
array()
Actual result:
--------------
Array
(
[data] => test
)
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=40204&edit=1