ホームページ  >  記事  >  バックエンド開発  >  PHP 変数のメモリ割り当ての問題レコードの並べ替え_PHP チュートリアル

PHP 変数のメモリ割り当ての問題レコードの並べ替え_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:17:47862ブラウズ

今日はPHP変数のメモリ割り当てに関する問題に遭遇したので記録しておきます。

次のコード:

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

$a = array (
'str' => 1,
'child' => 2
);
$b = $a;
$b['child'] = $a;
echo $b['str']; ;
echo $a['str'];


結果は 11 になります。 $b=$a の場合、ab は同じ領域 $b['child を指します。 ']= $a の場合、$b はまず $a の元の内容をコピーし、それからそれを変更します。つまり、この時点では $b と $a は異なる領域を指しており、相互作用しません。 $a または $b を変更するとき。
このコードをもう一度見てください:



コードをコピーします
コードは次のとおりです: class A
{
public $str = '';

$a =新しい A() ;
$a->str = 1;
$b->子 = $a; ->str = 2;
echo $b->str;
echo $a->str;
実際の状況から判断すると, $b-> ;child=$a の場合、ab と a->child はどちらも同じ領域を指します。どちらかを変更すると、他も変更されます。

しかし、なぜ PHP はこのように設計されているのでしょうか?



http://www.bkjia.com/PHPjc/621711.html

www.bkjia.com
tru​​e

http://www.bkjia.com/PHPjc/621711.html
技術記事

今日はPHP変数のメモリ割り当てに関する問題に遭遇したので記録しておきます。 コードは次のとおりです。 コードをコピーします。 コードは次のとおりです。 $a = array ( 'str' = 1, 'child' = 2 ); $b['child']...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。