回答編集履歴
2
指摘事項対応その2。オブジェクトの引数のデフォルトの挙動について再修正&言い回しが誤解を招きやすくなっているところを修正(オブジェクト周りの件以外は、内容的には変更していません)。
test
CHANGED
@@ -12,11 +12,11 @@
|
|
12
12
|
|
13
13
|
- 頭に `array` と書かれている理由
|
14
14
|
|
15
|
-
引数の型宣言です。
|
15
|
+
引数の型宣言(PHP5系だとタイプヒンディング。配列の場合はPHP5.1~)です。
|
16
16
|
|
17
17
|
この$arrayという変数には、必ずarray型の値を渡してください(それ以外はエラー)となります。
|
18
18
|
|
19
|
-
|
19
|
+
※型宣言という機能はPHP7.0からできた新しい機能です。
|
20
20
|
|
21
21
|
|
22
22
|
|
@@ -26,7 +26,13 @@
|
|
26
26
|
|
27
27
|
`&` が書かれていない場合は、引数は基本的に値渡しになっています(ただし、オブジェクトはデフォルトでも参照渡しですのでご注意ください)。
|
28
28
|
|
29
|
+
→オブジェクトの場合のデフォルトは「オブジェクトIDの値渡し」だそうです。
|
30
|
+
|
31
|
+
本回答のte2jiさんのコメントに、参考になるリンクがありますので、詳細はそちらをご覧ください。
|
32
|
+
|
33
|
+
|
34
|
+
|
29
|
-
値渡しと参照渡しの違いは、その関数内で変数の中身を変更した時に、呼出し元の変数の値が変わるかどうか、です。
|
35
|
+
オブジェクトの場合の挙動はちょっとややこしいので、それ以外について……という但し書き付きになりますが、値渡しと参照渡しの違いは、その関数内で変数の中身を変更した時に、呼出し元の変数の値が変わるかどうか、です。
|
30
36
|
|
31
37
|
|
32
38
|
|
1
指摘対応(arrayのタイプヒンディング対応バージョン修正、オブジェクトはデフォルトで参照渡しになる旨の記載追加)
test
CHANGED
@@ -16,7 +16,7 @@
|
|
16
16
|
|
17
17
|
この$arrayという変数には、必ずarray型の値を渡してください(それ以外はエラー)となります。
|
18
18
|
|
19
|
-
(この機能はPHP7.0からできた新しい機能です。一応、5.
|
19
|
+
(この機能はPHP7.0からできた新しい機能です。一応、5.1以降でも似たようなことはできましたが……)
|
20
20
|
|
21
21
|
|
22
22
|
|
@@ -24,7 +24,7 @@
|
|
24
24
|
|
25
25
|
引数の参照渡しです。
|
26
26
|
|
27
|
-
`&` が書かれていない場合は、引数は値渡しになっています。
|
27
|
+
`&` が書かれていない場合は、引数は基本的に値渡しになっています(ただし、オブジェクトはデフォルトでも参照渡しですのでご注意ください)。
|
28
28
|
|
29
29
|
値渡しと参照渡しの違いは、その関数内で変数の中身を変更した時に、呼出し元の変数の値が変わるかどうか、です。
|
30
30
|
|