▽PHP: オブジェクトと参照 - Manual
http://jp.php.net/manual/ja/language.oop5.refere …
$a = new A;
$b = $a; // $a と $b は同じ ID を持つコピーです
// ($a) = ($b) = <id>
$c = new A;
$d = &$c; // $c と $d は参照です
// ($c,$d) = <id>
とありますが、
($a) = ($b) = <id>
($c,$d) = <id>
の違いを目で見て確認できるような簡単なサンプルコードはないでしょうか?
echoとかで中身を出力して、確かに違っているな、と言うのを確認してみたいのですが……
No.1ベストアンサー
- 回答日時:
「参照」というのは、メモリ上の地番のことで、phpでは「シンボルテーブルのエイリアス」と記述されています。
http://jp.php.net/manual/ja/language.references. …
「シンボルテーブル」ってのは、云ってみれば本の目次のようなもの。
「エイリアス」はデータ格納場所(本の各ページ)の名前
<?php
$a = new A();
/* ここで、new という操作によって、オブジェクトが作成されて、オブジェクト格納場所を示す#id という名前(これがオブジェクト参照)が $a の内容として格納されます。
*/
$b=$a ;
var_dump($a,$b);
/* これは、変数内容をコピーします。
// $bの格納場所は、$a と違うところにあるけど、中身のオブジェクトを指すための #id は同じ
*/
$c= &$a;
var_dump($a,$b,$c);
/* リファレンス記号& により、$aの格納場所(参照)を $c の格納場所として、目次に書き込みます。
// よって $c は、$aと同じ格納場所の中身を見て動作します。
*/
$a = 12;
var_dump($a,$b,$c);
/* $aは 12、$bは元のオブジェクトidのまま、$cは$aと同じ格納場所をみてるので 12 になる
*/
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PostgreSQL 画像とカテゴリーを出力したいのですが、取得の条件を付ける方法がわかりません。 2 2022/05/01 18:03
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- Access(アクセス) Dlookupにエラーがでてしまう 1 2022/10/31 14:35
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- MySQL UPDATE my_items SET item_name '赤い,甘い,ケーキ' WHERE id 1 2023/01/03 09:52
- PHP preg_matchで Warning: Undefined variableが出ます 1 2022/11/15 17:06
- C言語・C++・C# C#のSystem.Windows.Media.Colorに関する質問です。 3 2022/05/18 11:51
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- PHP php テーブルが作成できない 1 2022/11/17 23:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
パワーポイントのVBAでテキスト...
-
多人数のじゃんけんプログラム
-
C#でフォームのオブジェクト名...
-
Excelで =EMBED("Acrobat Docu...
-
COMコンポーネントって何?
-
Vbで通常使用するプリンターを...
-
bmp画像をjpegやpng画像に圧縮...
-
文字列でクラス型名を取得したい
-
Accessの連結・非連結オブジェ...
-
VBAのWindowオブジェクトとWork...
-
オブジェクト名をforループ内で...
-
Object型からDouble型へのキャスト
-
ArrayLsitのデータ取得
-
Listに格納されているオブジェ...
-
Listに格納されたオブジェクト...
-
JAVAからHTMLへ値を返す方法
-
Visual Studioでのbmpファイル...
-
.getElementById()のエラーにつ...
-
javaでは基本型の参照渡しは無...
-
LISTBOXの内容が更新されま...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
パワーポイントのVBAでテキスト...
-
Excelで =EMBED("Acrobat Docu...
-
EXCEL VBAにて動的にCheckBOXを...
-
ワイルドカード<?>と型パラメー...
-
C#でフォームのオブジェクト名...
-
VBAのWindowオブジェクトとWork...
-
vb.net オブジェクト指向につい...
-
COMコンポーネントって何?
-
オブジェクトレベルとメタレベル
-
ビジュアルC++でボタンの有...
-
時間帯判定をする。
-
LISTBOXの内容が更新されま...
-
VBA 同じ名前のオブジェクトを...
-
オブジェクト名をforループ内で...
-
Object型からDouble型へのキャスト
-
ADO オブジェクトの渡し方
-
bmp画像をjpegやpng画像に圧縮...
-
Vbで通常使用するプリンターを...
-
戻り値がクラスオブジェクト
-
VBAでvlookup関数から、別シー...
おすすめ情報