ホームページ >バックエンド開発 >PHPの問題 >PHP が参照を使用する理由

PHP が参照を使用する理由

angryTom
angryTomオリジナル
2019-10-28 15:49:282641ブラウズ

PHP が参照を使用する理由

PHP が引用符を使用する理由

引用符とは何ですか?

PHP でのクォートとは、同じ変数の内容に異なる名前でアクセスすることを意味します。これは C ポインターとは異なり、参照はシンボル テーブルのエイリアスです。 PHP では変数名と変数の内容が異なるため、同じ内容でも異なる名前が付けられることに注意してください。最も近い類似点は、Unix のファイル名とファイル自体です。変数名はディレクトリ エントリであり、変数の内容はファイル自体です。参照は、Unix ファイル システムのハードリンクと考えることができます。

1. 変数参照

<?
    a="ABC";a="ABC";b =&a;echoa;echoa;//这里输出:ABC
    echo b;//这里输出:ABCb;//这里输出:ABCb="EFG";
    echo a;//这里a;//这里a的值变为EFG 所以输出EFG
    echo $b;//这里输出EFG
?>

2. 関数参照転送

<?php
    function test(&a)$a=$a+100;a)$a=$a+100;b=1;
    echo b;//输出1test(b;//输出1test(b);   //这里b传递给函数的其实是b传递给函数的其实是b的变量内容所处的内存地址,通过在函数里改变a的值 就可以改变a的值 就可以改变b的值了
    echo "<br>";
    echo $b;//输出101
?>

3. 関数参照 return

<?php
function &test()
{
    static b=0;//申明一个静态变量b=0;//申明一个静态变量b=b+1;echob+1;echob;
    return b; }b; }a=test();//这条语句会输出 b的值 为1b的值 为1a=5;
a=test();//这条语句会输出a=test();//这条语句会输出b的值 为2

a=&test();//这条语句会输出a=&test();//这条语句会输出b的值 为3
a=5;a=5;a=test();//这条语句会输出 $b的值 为6
?>

4. オブジェクト参照

<?php
    class a{
        var abc="ABC";     }abc="ABC";     }b=new a;
    c=c=b;
    echo b−>abc;//这里输出ABCechob−>abc;//这里输出ABCechoc->abc;//这里输出ABC
    b−>abc="DEF";echob−>abc="DEF";echoc->abc;//这里输出DEF
?>

5. 参照関数

プログラムが比較する場合 多数ある場合同じオブジェクトを参照する変数があり、オブジェクトの使用後に手動でクリアしたい場合は、「&」メソッドを使用し、その後 $var=null を使用してクリアすることをお勧めします。それ以外の場合は、デフォルトのメソッドを使用します。また、php5 大きな配列の転送には、メモリ容量を節約できる「&」メソッドの使用をお勧めします。

PHP 関連の知識の詳細については、PHP 中国語 Web サイト をご覧ください。

以上がPHP が参照を使用する理由の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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