ホームページ  >  記事  >  バックエンド開発  >  PHP変数参照割り当てに関する知識

PHP変数参照割り当てに関する知識

WBOY
WBOYオリジナル
2016-07-28 08:26:121268ブラウズ

マニュアルの説明は次のとおりです: 元の変数を単に参照 (つまり、「エイリアス」または「ポイント」) します。新しい変数を変更すると元の変数に影響し、その逆も同様です。
引用するということは、一人の人間が二つの名前を持っているということであり、どちらの名前で呼ばれても、それは同一人物であるということだと理解しています。
次の 2 つの例は同じ結果になります。削除または変更は、別の変数の値に影響します。

<code><?php
<span>$foo</span> = <span>'Bob'</span>;              <span>//</span> 将 <span>'Bob'</span> 赋给 <span>$foo</span><span>$bar</span> = &<span>$foo</span>;              <span>//</span> 通过 <span>$bar</span> 引用 <span>$foo</span><span>$bar</span> = <span>"My name is $bar"</span>;  <span>//</span> 修改 <span>$bar</span> 变量
echo <span>$bar</span>;
echo <span>$foo</span>;                 <span>//</span><span>$foo</span> 的值也被修改
?>


<?php
<span>$foo</span> = <span>'Bob'</span>;              <span>//</span> 将 <span>'Bob'</span> 赋给 <span>$foo</span><span>$bar</span> = &<span>$foo</span>;              <span>//</span> 通过 <span>$bar</span> 引用 <span>$foo</span><span>$foo</span> = <span>"My name is $bar"</span>;  <span>//</span> 修改 <span>$foo</span> 变量
echo <span>$bar</span>,<span>"\n"</span>;
echo <span>$foo</span>;                 <span>//</span><span>$foo</span> 的值也被修改
?></code>

参照を削除する場合、bまたはaを削除する場合、結果は影響しません別の変数。これは名前を削除することと同じであり、変数自体には影響しません。

<code><?php
<span>$a</span> = <span>0</span>;
<span>$b</span> = &<span>$a</span>;
  //  <span>echo</span><span>$a</span>; //<span>0</span>
   // <span>unset</span>(<span>$b</span>); // <span>unset</span><span>$b</span><span>unset</span>(<span>$a</span>); // <span>unset</span><span>$b</span><span>echo</span><span>$b</span>; //<span>0</span> it<span>'s OK</span></code>

変数が2つの変数を連続して参照する場合、最初に参照する変数を2回目に参照する変数に変更します。最初の引用は重要ではなく、相互に影響を与えることはありません。

<code><span><span><?php</span><span>$a</span> = <span>"hihaha"</span>;
<span>$b</span> = &<span>$a</span>;
<span>$c</span> = <span>"eita"</span>;
<span>$b</span> = &<span>$c</span>;
<span>echo</span><span>$b</span>; <span>// shows "hihaha"</span></span></code>

関数のアドレス渡し呼び出しは、実行後に参照先の変数を直接変更するのと同じです。こちらbパス 手紙 を数えてください の変数ですb コンテンツが配置されているメモリアドレスは、関数内の aJust を変更することで変更されます。 できる からchangechange bの価値

<code><span><span>function</span><span>test</span><span>( &<span>$a</span> )</span>
{</span><span>$a</span> += <span>10</span>;
  <span>return</span><span>$a</span>;
}
<span>$b</span> = <span>1</span>;

test(<span>$b</span>);

<span>echo</span><span>$b</span>;<span>//输出11</span></code>
関数の参照は
<code>function &test2()
{
    <span>$b</span>  = <span>0</span>;<span>//</span>申明一个静态变量
    <span>$b</span>  =   <span>$b</span>+<span>1</span>;
    <span>return</span><span>$b</span>;
}

<span>$a</span> = test2();<span>//</span>这条语句会输出 <span>$b</span>的值 为1
var_dump(<span>$a</span>);

<span>$a</span> = test2();<span>//</span>这条语句会输出 <span>$b</span>的值 为<span>2</span>
var_dump(<span>$a</span>);
<span>$a</span> = & test2();<span>//</span>这条语句会输出 <span>$b</span>的值 为<span>3</span>
var_dump(<span>$a</span>);
<span>$a</span> = <span>5</span>;
<span>$a</span> = test2();<span>//</span>这条语句会输出 <span>$b</span>的值 为<span>6</span>
var_dump(<span>$a</span>);</code>
を返します') .addClass('事前番号付け').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); }); 以上、PHPの変数参照代入に関する知識を内容も含めて紹介しましたが、PHPチュートリアルに興味のある友人の参考になれば幸いです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。