ホームページ バックエンド開発 PHPチュートリアル PHP 引用符の使用法の詳細な分析 &_PHP チュートリアル

PHP 引用符の使用法の詳細な分析 &_PHP チュートリアル

Jul 21, 2016 pm 02:59 PM
amp php について 関数 変数 物体 引用 使用法 解析する 詳しい

PHP 参照の役割 (つまり、変数、関数、オブジェクトなどの前にアンパサンドを追加する) について、まず次のプログラムを見てみましょう。

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

$a = 100; //変数 a を宣言
$b = &$a; //変数 b を宣言、独立変数 a を参照
echo " $a
";
echo "$b
";
$a++; //変数 a が 1 増加します
echo "$a
";
echo " $b
";//変数 b を確認します。これも 1 増加します。これは、同じストレージ ユニットが使用されていることを示します

プログラムの実行結果:

コードは次のとおりです:
100
100
101
101

多くの人は、php の参照が C のポインターと同じであると誤解しています。実際には、それらは異なり、大きく異なります。配列転送プロセス中に明示的に宣言する必要のない C 言語のポインターを除き、他のポイントは * を使用して定義する必要があります。ただし、PHP のアドレスへのポインター (ポインターと同様) 関数は、はい、PHP の参照は「コピーオンライト」の原則を採用しています。つまり、書き込み操作が発生しない限り、同じアドレスを指す変数やオブジェクトはコピーされません。 。

php のデフォルトは値渡しです:

コードをコピーします コードは次のとおりです:
$b = $a;
$a = $a; + 10;
echo $a.' と '.$b;


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

アドレスに変更したい場合は、& を追加する必要があります。
コードをコピーします

コードは次のとおりです:

$a = 20; b = &$a;
$a = $a + 10; プログラムの実行結果:

コードは次のとおりです


30 と 30


つまり、& は $a のアドレスを $b に渡します。この場合、2 つの変数はメモリ記憶域を共有します。これは、それらの値が同じであることを意味します。

同じ構文は、参照を返す関数と new 演算子で使用できます:
コードをコピー コードは次のとおりです:

$bar =& new fooclass( ) ;
$foo =& find_var($bar);


参照が行う 2 番目のことは、変数を参照によって渡すことです。これは、呼び出しスコープ内の同じコンテンツを参照する関数内にローカル変数を作成することによって実現されます。簡単に言うと、関数のパラメータはローカル変数への参照です。別の例を挙げてみましょう:
コードをコピーします コードは次のとおりです:

function foo(&$val1, $val2) {
$val1 += 1;
$val2 + = 1;
$b=10;
echo $b;

関数には 2 つの値があります。1 つは $a の内容への参照、もう 1 つは $b の値です。この関数を実行すると、$a の内容が変更されたことがわかります。ただし、$b の内容は変更されていません。 PHP 参照の 3 番目の使用法は、参照リターンです。この使用法は、関数を使用して参照をバインドする必要がある場合に使用されます。参照を返すときは、次の構文を使用します。 簡単に言うと、これはやはり参照関数の戻りです。ただし、パラメーターの受け渡しとは異なり、& 記号は関数定義と関数参照の両方で使用する必要があります。例を示します:
コードをコピーします

コードは次のとおりです:

function &find_var ($param)
{
/* ...code... */
return $found_var;
$foo =& find_var ($bar);
$foo-> ;x = 2;
?>

この例では、$foo への代入は関数 find_var の戻り参照であるため、$foo-> に値を代入する場合、

PHP 参照の最後の使用法は、参照の配置です。主な用途は 2 つあります。1 つは、グローバル $var で変数を宣言する場合、グローバル変数への参照が実際に確立されることです。つまり、$var =& $GLOBALS["var"]; と同じです。もう 1 つは、オブジェクトのメソッド内での $this の使用法です。$this は常に、それを呼び出すオブジェクトへの参照になります。

http://www.bkjia.com/PHPjc/328163.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/328163.html技術記事 PHP 参照について (つまり、変数、関数、オブジェクトなどの前に lt;?php を追加します。 //変数 a を宣言 $b = //変数 b を宣言、独立変数 a を参照 echo "$a br /" ; エコー "$b br /";...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

この章では、CakePHP の環境変数、一般設定、データベース設定、電子メール設定について理解します。

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP データベースの操作 CakePHP データベースの操作 Sep 10, 2024 pm 05:25 PM

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

この章では、ルーティングに関連する次のトピックを学習します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

See all articles