PHP 引用符の使用法の詳細な分析 &_PHP チュートリアル
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 の参照は「コピーオンライト」の原則を採用しています。つまり、書き込み操作が発生しない限り、同じアドレスを指す変数やオブジェクトはコピーされません。 。 100
101
101
php のデフォルトは値渡しです:
コードをコピーします コードは次のとおりです:
$b = $a;
$a = $a; + 10;
echo $a.' と '.$b;
コードをコピーします
コードは次のとおりです: $a = $a; + 10;
echo $a.' と '.$b;
コードをコピーします
アドレスに変更したい場合は、& を追加する必要があります。
コードをコピーします コードは次のとおりです:
$a = 20; b = &$a;
$a = $a + 10; プログラムの実行結果:
コードは次のとおりです
30 と 30
つまり、& は $a のアドレスを $b に渡します。この場合、2 つの変数はメモリ記憶域を共有します。これは、それらの値が同じであることを意味します。
同じ構文は、参照を返す関数と new 演算子で使用できます:
コードをコピー コードは次のとおりです:
$bar =& new fooclass( ) ;
参照が行う 2 番目のことは、変数を参照によって渡すことです。これは、呼び出しスコープ内の同じコンテンツを参照する関数内にローカル変数を作成することによって実現されます。簡単に言うと、関数のパラメータはローカル変数への参照です。別の例を挙げてみましょう:
コードをコピーします コードは次のとおりです:
function foo(&$val1, $val2) {
$val1 += 1;
$val2 + = 1;
$b=10;
関数には 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 は常に、それを呼び出すオブジェクトへの参照になります。
コードは次のとおりです:
function &find_var ($param)
{
/* ...code... */
return $found_var;
$foo =& find_var ($bar);
$foo-> ;x = 2;
?>
PHP 参照の最後の使用法は、参照の配置です。主な用途は 2 つあります。1 つは、グローバル $var で変数を宣言する場合、グローバル変数への参照が実際に確立されることです。つまり、$var =& $GLOBALS["var"]; と同じです。もう 1 つは、オブジェクトのメソッド内での $this の使用法です。$this は常に、それを呼び出すオブジェクトへの参照になります。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事
R.E.P.O.説明されたエネルギー結晶と彼らが何をするか(黄色のクリスタル)
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最高のグラフィック設定
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
アサシンのクリードシャドウズ:シーシェルリドルソリューション
1週間前
By DDD
R.E.P.O.誰も聞こえない場合はオーディオを修正する方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
Atomfallのクレーンコントロールキーカードを見つける場所
1週間前
By DDD

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック

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

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

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

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