ホームページ > バックエンド開発 > PHPチュートリアル > PHP_PHP チュートリアルで変数を破棄する設定を解除することによって発生する問題

PHP_PHP チュートリアルで変数を破棄する設定を解除することによって発生する問題

WBOY
リリース: 2016-07-13 10:49:51
オリジナル
850 人が閲覧しました

PHP では、変数を破棄して仕様を記述したい場合、unset() 関数を直接使用できますが、テストでは、すべての変数 (参照変数など) がその値を指している場合にのみ unset が破棄されることがわかります。値に) が破棄されると、アドレスが解放されます。以下にいくつかの例を見てみましょう。

まず例を見てみましょう:

コードは次のとおりです コードをコピー

$a = "こんにちは、スプリングロード";
$b = $a;
unset($b);
echo $a //こんにちはスプリングロード
?>

これはよくわかっていますが、unset($b) は変数名と値のバインディングを切断するだけですが、興味深い疑問が生じます:

コードは次のとおりです コードをコピー

$a = "こんにちは、スプリングロード";
$b = $a;
unset($a);
echo $b;//こんにちは、スプリングロード
?>

なぜ $a は破壊され、なぜ $b の値はまだ残っているのでしょうか?

注: unset() 関数は、次のように、値を指すすべての変数 (値を指す参照変数など) が破棄された場合にのみアドレスを解放します。

コードは次のとおりですコードをコピー
$a = "こんにちは、スプリングロード";
$b = $a;
unset($a);
unset($b);
Echo $b;//出力は空です
?>

http://www.bkjia.com/PHPjc/632674.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/632674.html技術記事 PHP では、変数とメモリ解放仕様を破棄する方法は、unset() 関数を直接使用することですが、このテストでは、unset が値を指すすべての変数 (参照変数など) のみを参照していることがわかります...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート