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

WBOY
リリース: 2016-07-13 17:17:47
オリジナル
861 人が閲覧しました

今日は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']...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!