|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2008-03-18 11:05 UTC] krille at thomaskrille dot de
Description:
------------
in the provided (.chm) manual of the php installer package the following example is given in Lang.Ref.->Classes and ...(PHP5)->The Basics:
<?php
$assigned = $instance;
$reference =& $instance;
$instance->var = '$assigned will have this value';
$instance = null; // $instance and $reference become null
var_dump($instance);
var_dump($reference);
var_dump($assigned);
?>
The above example will output:
NULL
NULL
object(SimpleClass)#1 (1) {
["var"]=>
string(30) "$assigned will have this value"
}
this example describes the php4 behavior, not the php5 one.
i haven't checked if this mistake is also exsists in other provided manuals.
manual version: "Sun Nov 11 00:33:08 2007"
Reproduce code:
---------------
n/a
Expected result:
----------------
n/a
Actual result:
--------------
n/a
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sun Oct 26 17:00:01 2025 UTC |
Maybe this is a better example. <?php class SimpleClass{} $instance = new SimpleClass(); $assigned = $instance; $reference =& $instance; $instance->var = '$assigned will have this value'; var_dump($instance->var); var_dump($reference->var); var_dump($assigned->var); $instance = null; // $instance and $reference become null var_dump($instance->var); var_dump($reference->var); var_dump($assigned->var); ?> In PHP5 the output is ... string(30) "$assigned will have this value" string(30) "$assigned will have this value" string(30) "$assigned will have this value" NULL NULL string(30) "$assigned will have this value" In PHP4 the output is ... string(30) "$assigned will have this value" string(30) "$assigned will have this value" NULL NULL NULL NULL