ホームページ > バックエンド開発 > PHPチュートリアル > 基本的な質問: オブジェクト参照の問題?

基本的な質問: オブジェクト参照の問題?

WBOY
リリース: 2016-06-23 14:38:25
オリジナル
822 人が閲覧しました

<?php$global_obj=null;class Demo{	var $my_val;	public function __construct(){		global $global_obj;		$global_obj=&$this;	}}$p=new Demo();$p->my_val=5;global $global_obj;$global_obj->my_val=10;echo $p->my_val;  //输出5var_dump($p===$global_obj);  //返回false?>
ログイン後にコピー


結果が 10 ではなく 5 になる理由を教えてください
私の理解では、PHP5 では、 clone キーワードを使用してオブジェクトを明示的に複製しない限り、オブジェクトは無意識のうちにコピーされることはありません。
この理解は正しいでしょうか?


ディスカッションへの返信 (解決策)

8 行目 $global_obj=&$this; の場合、
18 行目には
空の値からデフォルト オブジェクトを作成する (空の値からデフォルト オブジェクトを作成する)
警告が表示されます。エラー メッセージがブロックされているため、理由がわかりません

8 行目を $global_obj = $this; に修正すると 10 が出力されます

http://php.net/manual/zh/ を読むことをお勧めします.oop5.references.php

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート