参照(リファレンス)について


Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /home/webstyle/php-fan.org/public_html/wp-content/plugins/wp-syntax/wp-syntax.php on line 383

Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /home/webstyle/php-fan.org/public_html/wp-content/plugins/wp-syntax/wp-syntax.php on line 383

基本的にあまり使わないのですが、一応知識として入れておきます。

ジャイアンの方程式ではないですが「お前の物は俺の物、俺の物はお前の物」という発想ですかね。


スポンサーリンク

実際に書いてみると

1
2
3
4
5
$a = 10;
$b =& $a;
$b = 20;
echo $a;
//20と表示されます。

とこんな感じです。&をつけて渡すことで参照渡しになります。なんとなく&って一体化のようなイメージですよね。これでどちらの変数が変わっても同じ値になります。
さらに上のプログラムの追加で書き込みます。

1
2
3
4
$c = 30;
$b = &$c;
echo $a;
//20と表示されます。

と参照渡しはひとつのみで他の値を参照渡しすると以前の値はそのままです。なんか契約切れみたいですね。
PHP4のころは割合参照渡しが多かったのですが今は推奨されていないようですね。まあ、確かにわかりにくくなるかも。

因みにPHP5ではオブジェクトはすべて参照で扱われるのです。&かかなくてもよいのです。

実際参照今まで使ったこと無いです・・・・。でも結構面白そうな感じがする。。。。。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です