@@ -72,6 +72,9 @@ <h3 class="menu-page-title">▼参照渡し</h3>
7272 < ul >
7373 < li > < a href ="./php-pass-by-reference.html#begin "> はじめに</ a > </ li >
7474 </ ul >
75+ < ul >
76+ < li > < a href ="./php-pass-by-reference.html#standard "> お決まりの書き方</ a > </ li >
77+ </ ul >
7578 < ul >
7679 < li > < a href ="./php-pass-by-reference.html#address "> 「アドレス渡し」について</ a > </ li >
7780 </ ul >
@@ -96,12 +99,12 @@ <h2 class="subtitle">はじめに</h2>
9699
97100 < div class ="text-block ">
98101 ここでは当フレームワークで使っているPHPの技術情報を中心に備忘録としてまとめています。< br />
99- 今回対象になる環境は< font > < a href ="./minecraft-contents/index.html " target ="_blank "> ▶マインクラフトの環境</ a > </ font > のページでご紹介している< code > contents-project</ code > というプロジェクト環境です。< br />
100- </ div > < br />
101-
102- < a id ="address "> </ a >
103- < h2 class ="subtitle "> 「アドレス渡し」について</ h2 >
102+ 今回対象となる環境は< font > < a href ="./minecraft-contents/index.html " target ="_blank "> ▶マインクラフトの環境</ a > </ font > のページでご紹介している< code > contents-project</ code > というプロジェクト環境になります。< br /> < br />
103+ </ div >
104104
105+ < a id ="standard "> </ a >
106+ < h2 class ="subtitle "> お決まりの書き方</ h2 >
107+
105108 < div class ="text-block ">
106109 「参照渡し」でよく使われるのは以下のようなパターンではないでしょうか。< br />
107110 < span > 引数での「参照渡し」</ span >
@@ -117,8 +120,13 @@ <h2 class="subtitle">「アドレス渡し」について</h2>
117120
118121 これはC言語でもよく使われる書き方で「アドレス渡し」と呼ばれています。< br />
119122 PHPとC言語ではコンパイラの処理に違いがあるので、PHP側の処理では「参照渡し」と呼ぶ事にします。< br />
120- まずは「アドレス渡し」の考え方を理解しておいた方が早いと思いますので以下をご覧ください。< br /> < br />
123+ まずは「アドレス渡し」の考え方を理解しておいた方が早いと思いますので以下をご覧ください。< br />
124+ </ div > < br />
125+
126+ < a id ="address "> </ a >
127+ < h2 class ="subtitle "> 「アドレス渡し」について</ h2 >
121128
129+ < div class ="text-block ">
122130 現実世界で例えるならば、仮に東京100番地という住所に両親と子供を合わせて3人家族の山田さんの家があったとすると、この「東京100番地」がメモリ上の配置を表していて、山田さんの家が変数の番地にあたります。< br />
123131 そして山田さんの家では最初3人が住んでいましたが、そのうち子供が出稼ぎに行くようになって両親の2人暮らしになったり、子供が結婚して実家に帰ってくる時には孫が増えたりする事で人数が変化していく変数だと捉える事ができます。< br /> < br />
124132
@@ -135,7 +143,7 @@ <h2 class="subtitle">「アドレス渡し」について</h2>
135143 リファレンスは、Unix ファイルシステムの ハードリンクのようなものであると考えられます。
136144 </ blockquote >
137145
138- つまりPHPでは変数の所在をラベルのようなもので表すのに対して 、C言語では< code > &</ code > (アンパサンド)を使ってアドレスを指し示す事が可能で 、ポインタ変数を使ってそのアドレス自身を管理する事ができます。< br />
146+ つまりPHPでは < code > & </ code > (アンパサンド)を使って変数の所在をラベルのようなもので管理しているのに対して 、C言語では< code > &</ code > (アンパサンド)を使ってアドレス表記が可能で 、ポインタ変数を使ってそのアドレス自身を管理する事ができます。< br />
139147 </ div > < br />
140148
141149 < a id ="compare "> </ a >
@@ -263,7 +271,7 @@ <h2 class="subtitle">実装例</h2>
263271 < h2 class ="subtitle "> おわりに</ h2 >
264272
265273 < div class ="text-block ">
266- PHPマニュアルには色々書かれていますが、要はPHPではC言語のポインタ変数のようにアドレスやラベルそのものを操作できないという事を謳っているだけなので 、その事さえ押さえておけば特に問題になる事はないでしょう。< br />
274+ PHPマニュアルには色々書かれていますが、要はPHPでは「参照渡し」そのものをC言語のポインタ変数のように操作できないという事を謳っているだけなので 、その事さえ押さえておけば特に問題になる事はないでしょう。< br />
267275 「参照渡し」は上記で説明した以外にも使い道はありますが、それはまた別の機会でご紹介したいと思います。< br />
268276 </ div >
269277 </ div >
0 commit comments