PHP変数と定数

7184 ワード

変数や定数というありふれた話題に、作者本人がうるさいと思っているのかもしれない.しかし、私は再び理解したり、再び関連内容を読んだりすると、いつも更新的な感じがして、このような感じがもっと深いことに気づきました.これがいわゆる「温故知新」だと思います.もう言わないでください.次の関連資料を見てください.
一、変数と定数とは何ですか.
プログラムの実行中、変数が格納する値はいつでも変更できますが、定数が格納する値は変更できません.
変数は、一時的なデータ情報を格納するために使用されます.ある変数が定義されると、その変数に格納された変数の値が自動的に割り当てられます.変数を定義するときに値を割り当てることができます.変数の値を変更する必要がある場合は、再び値を割り当てるだけです.一時的なデータ情報や処理プロセスについては、変数に格納できます.定数は、頻繁に変更されないデータ情報を格納するために使用されます.定数を定義するときはその値を割り当てることができ、プログラムの実行期間全体で、この値は有効であり、再びその定数を割り当てることはできません.
二、変数の定義と付与?
前に変数を説明したが,変数の応用を系統的に説明していない.次に、PHPで変数の定義と付与操作を実現する方法について説明します.
1.変数の定義
PHPで定義された変数の構文フォーマットは次のとおりです.
$変数名=変数の値
変数に名前を付けるには、次の命名規則に従う必要があります.
1:変数名はアルファベットまたは下線で始まり、アルファベット、下線または数字で構成できます.2:変数名は大文字と小文字を区別し、「var」と「VAR」はそれぞれ2つの異なる変数を表す.3:カスタム変数名は、PHPが提供するデフォルト変数名と同じではありません.4:変数に名前を付けるときは、できるだけ意味のある文字列を使用します.
指定された変数の名前は次のとおりです.
$name;
$_password;
$no1;

規定に合致しない変数の名前は次のとおりです.
$1book;
$*a;

2.変数の付与
変数に値を割り当てるには、伝達値と参照値の2つの方法があります.この2つの方法は、データ処理に大きな違いがあります.
1)値付与
この代入方法は"="を使用して直接変数を(または式)の値は別の変数に割り当てられます.等号の両方の変数値は互いに影響しません.いずれの変数値の変化も他の変数には影響しません.根本的には、転送値の割り当ては、記憶領域で変数のコピーをコピーすることによって実現されます.転送値の割り当てを適用するコードの例は、次のとおりです.
$a = 33;
$b = $a;
$b = 44;
echo "  a   " . $a . "
"
; echo " b " . $b;
output:

  a   33
  b   44 

上記のコードでは、「a=33」文を実行すると、メモリに変数aの記憶領域が開き、33という数値が記憶領域に格納されます.実装手順を図2−14に示す.「b=$a」文を実行すると、メモリに変数bの記憶領域が開き、変数aが記憶領域を指す内容が変数bが指す記憶領域にコピーされます.
2)参照割付
参照代入も「=」を使用して1つの変数の値を別の変数に割り当てますが、等号の右側の変数の前に「&」記号を付ける必要があります.実際には、このような付与方式は本当の意味での付与ではなく、1つの変数が別の変数を参照します.リファレンス割り当てを使用すると、2つの変数がメモリ内の同じストレージ領域を指すため、いずれの変数の変化も別の変数の変化を引き起こします.参照付与を適用するコードの例は次のとおりです.

$a = 33;
$b = &$a;
$b = 44;
echo "  a   " . $a . "
"
; echo " b " . $b; ?>
output:
  a   44
  b   44 

上記のコードで「a=33」文を実行する場合、メモリ操作の手順は、転送値と同じであり、ここでは説明しません.「b=&a」文を実行すると、変数bは変数aが占有する記憶領域を指す.「b=44」文を実行すると、変数bが指す記憶領域の保存値は44となる.このとき変数aもこの記憶空間を指すため、変数aの値も44となる.
注意、注意、注意、重要なことを3回言います!
ここで特に、「b=&a」文を実行すると、変数bは変数aが占有する記憶空間を指す
3、変数作用域
PHP言語を使用して開発した場合、ほとんどの場所で変数を宣言できますが、変数の宣言位置と宣言方式の違いは変数の役割ドメインの違いを決定します.変数役割ドメインとは、変数がどの範囲で使用できるか、どの範囲で使用できないかを指す.PHPでは,変数の役割ドメインによって局所変数とグローバル変数に分けられる.
1.ローカル変数
ローカル変数は、ある関数内に宣言された変数であり、その作用範囲はその関数体の内部に限られる.この変数を関数体の外部で参照すると、別の変数を参照しているとみなされます.
ローカル変数の例:
    function local(){
     
        $a="local variable";
        return $a;
    }
    $a="hello";
    echo local();
    echo "
"
; echo $a;
output:
local variable
hello 

4.グローバル変数
グローバル変数はプログラムのどこでもアクセスでき、この変数の役割範囲は最も広い.変数をグローバル変数として宣言するには、この変数の前に「global」というキーワード(大文字と小文字を区別せずGLOBALでもよい)を付けるだけです.グローバル変数を使用すると、関数の外部パラメータを関数の内部で参照したり、関数の外部で関数の内部パラメータを参照したりすることができます.関数内で関数数外で定義グローバル変数を呼び出し、関数内の変数の前にglobalキーワードを付ける必要があります.
グローバル変数の例:

$a = "outside"; //      a(  :  $a     )
function local(){
        //      local
    global $a; //   a       
    echo " local        a   " . $a . "
"
; global $b; // b $b = "inside"; //local b } local(); // local a echo " local b " . $b; // local b ?>
output:

 local        a   outside
 local        b   inside 

グローバル変数の適用
注意:グローバル変数の適用は変数の操作をより容易にすることができますが、変数の役割ドメインの拡大は、開発に迷惑をかけ、予想外の問題が発生する可能性があります.通常、グローバル変数の使用は推奨されません.
5、静的変数
変数には、その特定の作用範囲だけでなく、その生存周期であるライフサイクルもあります.変数のライフサイクルとは、変数が使用可能な期間を指し、この期間内に変数が有効である.この期間を超えると変数が無効になり、変数の値にアクセスできなくなります.
PHPは変数のライフサイクルを以下のように規定している.
ローカル変数のライフサイクルは、その関数が呼び出されるプロセス全体です.ローカル変数が存在する関数が終了すると、ローカル変数のライフサイクルも終了します.
グローバル変数のライフサイクルは、.phpスクリプトファイルが呼び出されるプロセス全体です.グローバル変数が存在するスクリプトファイルが呼び出しを終了すると、グローバル変数のライフサイクルが終了します.
カスタム関数が終了した後も、関数内の変数が存在することを望む場合は、この変数を静的変数として宣言する必要があります.変数を静的変数として宣言する方法は、変数の前にstaticキーを付けることです.