ホームページ  >  記事  >  バックエンド開発  >  PHPリファレンス(&)事例紹介

PHPリファレンス(&)事例紹介

尚
転載
2020-02-21 17:57:082164ブラウズ

PHPリファレンス(&)事例紹介変数参照

ケース:

<?php
//变量单独引用
$test = "a string!\n";
$quote = &$test;

echo $test; //a string!
echo $quote;//a string!

$quote = "exchange!\n";
echo $test; //exchange!
echo $quote;//exchange!

unset($quote);
echo $test; //exchange!

//函数传参引用
$num = 10;
echo $num."\n";
test($num);
echo $num."\n";

function test( &$num) {
    $num += 10;
}

結論

PHP 変数参照は、同じコンテンツを指す異なる変数と同等です。この内容も操作されます。一方の参照が削除されても、もう一方の参照には影響しません。削除された変数が同じ内容を指さなくなったのと同じですが、定数にすることはできません。 (これは、人が複数の名前を持つことに相当します。時間内に名前を削除しても、その人の実体には影響しません)

推奨事項: php トレーニング

関数リファレンス 戻り値

ケース 1:

<?php

$t = test(); // 1
var_dump($t); // int(1)
$t = 20; $t = test(); //2
var_dump($t); //int(2)
$t = &test(); //3
var_dump($t) ; //int(3)
$t = 20; $t = test(); //21
var_dump($t); //int(21)

function &test() {
    static $test = 0;
    $test += 1;
    echo $test."\n";
    
    return $test;   
}

ケース 2:

?php

$t = test();

function &test() {
    static $test = 0;
    $test += 1;
    echo $test."\n";
}


$ php test.php 
1
PHP Notice:  Only variable references should be returned by reference in /home/q/www/zt.dujia.qunar.com/test.php on line 9

結論:

は $t = と同等です。 &test; 率直に言えば、それは依然として間の変数参照の 1 つです。

オブジェクト参照

ケース:

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

Reference は、実際には複数の操作名が与えられた変数空間です。これらの操作名は、すべてある操作名がその空間を操作する場合、他の操作名によって得られる結果も変わります。

引用の役割:

一般的に、変数が宣言されるたびに、一定量のスペースが占有されます。

関数パラメータの受け渡しの利便性により、元の空間の内容を直接変更できると同時に、中間変数の空間オーバーヘッドも削減できます。

php についてさらに詳しく知りたい場合は、php 無料トレーニング Web サイトをご覧ください。

以上がPHPリファレンス(&)事例紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。