変数の代入はどうなるのでしょうか?

WBOY
リリース: 2016-06-23 14:27:54
オリジナル
904 人が閲覧しました


変数の代入のようなもの

$foo=25;

この文が実行されると、メモリ内に 2 つの記憶領域が同時に開かれますか? 1 つは値 25 を格納し、もう 1 つは $foo を格納することになります。値25のアドレスを格納します。

以下の私の理解は正しいですか?



それ以外の場合、スペースが開かれている場合は、値 25 を設定解除する必要があります:
$boo=&$foo;
echo $foo; 25




ディスカッションへの返信(解決策)

おいおい、PHP5.4 以降、参照部分が変更されました

$foo=25;$boo=$foo;unset($boo);echo $foo; //输出25func(&$var); function func(&$var){ //对$var的一系列运算处理 }但到了php5.4以后的版本,对数组和对象的引用传递发生了变化,是这样的:func($var); //注意这里,调用函数的时候已经没有了&,但定义的时候还有function func(&$var){//对$var的一系列运算处理}
ログイン後にコピー


これは、デスクトップにショートカットを作成し、そのショートカットを削除したようなものですが、内容はまだ残っています彼らの元の場所。

大鳥を待っています。 。 。

unset(); を使用していて、それが参照する変数の参照関係がまだ存在する場合、このメモリ領域への変数の参照がすべて壊れている場合にのみ、このメモリは解放されません。このメモリ領域は解放されます 解放されたメモリ領域のみが解放されます

unset(); を使用している場合、参照している変数の参照関係が残っている場合、このメモリは当面解放されません。すべての変数がこのメモリ領域を参照している場合のみ、この解放されたメモリ領域は、すべての参照が壊れた後にのみ解放されます

ご返信ありがとうございます。こんにちは、PHP パーサーが $foo=25 に遭遇したときに何が起こるかを知りたいのです。アドバイスをいただけますか、ありがとう

それがオブジェクト

の場合、$foo はオブジェクトのアドレスを保存します

$boo = $foo はアドレスをコピーしただけです

しかし、データ 25 は単なる数値なので、オブジェクト 25 はなく、アドレスは直接数値です

$boo は $foo のアドレスを保存します

この投稿は、xuzuning によって 2013-11-22 14:03:00 に最終編集されました

PHP の変数管理は、このようなテーブルの維持に簡略化できます

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート