ホームページ  >  記事  >  バックエンド開発  >  PHP変数を参照するにはどのような方法がありますか? PHPの変数参照機構のメソッドまとめ

PHP変数を参照するにはどのような方法がありますか? PHPの変数参照機構のメソッドまとめ

不言
不言オリジナル
2018-08-18 17:55:323237ブラウズ

この記事でわかるのは、PHP 変数を参照する方法にはどのようなものがあるのか​​ということです。このPHP変数の参照機構をまとめたものは参考価値があり、困っている方は参考にしていただければ幸いです。

1. php の変数参照、「&」:

##

$a  = "hello world";//定义一个变量,下面赋值给$b
$b = $a;            //这一步实际上原理是会将变量$a复制拷贝一份,也就是内存中重新申请一个地址存储变量$b

注: PHP では、「

=」を使用して値を直接割り当てると、実際には右側の変数が $b にコピーされ、メモリ領域が生成されます。その結果、同じ内容が 2 つのコピーに保存される可能性があります。メモリ。

2. # を引用するには、記号「&

」を使用します。

#

$a  = "hello world";
$b = &$a;
注: 参照を使用する場合、PHP エンジンは変数をコピーしません。実際、ポインタはメモリ内の $a のアドレスを指し、$b はこのポインタを保存します。

したがって、参照を使用する場合、
$b の値を変更すると、それに応じて $a も変更されます。

$a  = "hello world";
$b = &$a;
$b = "test new value";  //把b的值改掉,a的值也会跟着改变
echo $a;                //输出test new value,因为改变了b的值也会改变a的值。
関数を定義するときに次のような状況をよく見かけます。

#

function test (&$param){
    $param++;
}
$k = 8;
test($k);
echo $k; //结果$k的值被函数里面改变了,输出9。
注: $param の前に参照があるため、渡されたパラメータはメモリにコピーされず、直接コピーされます。元のメモリ空間を参照します。したがって、記号 & を使用して渡された変数値が変更されると、元のメモリ空間の値 も変更されます。

#3. 変数を破棄するとき。元の値は変わりません。

$a = 'd';
$b = &$a;
$b = 8;   
var_dump($b,$a);   //因为是引用了,所以把b的值改掉,a的值也跟着改为8了。
unset($b);         //调用unset删除b变量,a变量不会删除
var_dump($b,$a);   //输出null和8

注: $b 変数を削除するために unset を呼び出すと、PHP エンジンは変数シンボル テーブルから変数 I を見つけます。 $b を削除したい場合は、もともと変数 $a を参照していますが、削除すると $a 変数がなくなってしまうため、削除するのが困難です。そのため、まず $a 変数をコピーしてから、$b 変数を削除します。

関連する推奨事項:


php は open と fwrite を使用して複数の形式でファイル (コード) をエクスポートします

phpソリューション内の Excelファイルのエクスポート時にメモリ オーバーフローが発生する

#

以上がPHP変数を参照するにはどのような方法がありますか? PHPの変数参照機構のメソッドまとめの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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