PHP 変數(shù)
変數(shù)は情報を保存するために使用される「コンテナ」です:
インスタンス
<?php $x = 5; $y = 6; $z = $x + $y; echo $z; ?>
代數(shù)と同様
x=5
y=6
z=x+y
代數(shù)では文字を使用します( x など) ) を入力し、それに値 (5 など) を割り當てます。
上記の式 z=x+y から、z の値は 11 であると計算できます。
PHP では、これらの文字は変數(shù)と呼ばれます。
変數(shù)は、データを保存するために使用されるコンテナです。
PHP変數(shù)
は、特定の値(x=5)または式(z=x+y)をPHP変數(shù)に割り當てることができます。
変數(shù)には、非常に短い名前 (x や y など) またはよりわかりやすい名前 (年齢、車名、合計容量など) を使用できます。
PHP 変數(shù)のルール:
1. 変數(shù)は $ 記號で始まり、その後に変數(shù)名が続きます
2. 変數(shù)名には英數(shù)字とアンダースコアのみを含めることができます。 (A-z、0-9、および _)
4. 変數(shù)名にはスペースを含めることはできません
5. 変數(shù)名は大文字と小文字が區(qū)別されます ($y と $Y は 2 つの異なる変數(shù)です)
以下は、いくつかの例を通して示されます:
<?php $var = 'hello'; //正確 $var123 = 'hello'; //正確 3var = 'hello'; //錯誤 $_var = 'hello'; //正確 $@#var = 'hello'; //錯誤 ?>PHP ステートメントと PHP 変數(shù)は大文字と小文字が區(qū)別されます。
PHPには変數(shù)を宣言するコマンドがありません。
最初に値を割り當てると、変數(shù)が作成されます:
インスタンス
<?php $txt = "Hello world!"; $x = 5; $y = 10.5; ?>上記のステートメントの実行では、変數(shù) txt は値 Hello world! を保持し、変數(shù) x は値 5 を保持します。 。
注: テキスト値を変數(shù)に割り當てるときは、テキスト値を引用符で囲んでください。
PHP は弱い型付け言語です
上の例では、変數(shù)のデータ型を PHP に宣言する必要がないことがわかりました。
PHP は、変數(shù)をその値に基づいて正しいデータ型に自動的に変換します。
厳密に型指定されたプログラミング言語では、使用する前に変數(shù)の型と名前を宣言 (定義) する必要があります。
PHPのデータ型については後ほど説明します。
PHP 変數(shù)のスコープ
変數(shù)のスコープは、変數(shù)を參照/使用できるスクリプトの部分です。
PHP には 4 つの異なる変數(shù)スコープがあります:
local (ローカル)
global (グローバル)
static (靜的)
parameter (パラメータ)
すべての関數(shù)のローカルおよびグローバルスコープ外部定義変數(shù)にはグローバルな範囲。関數(shù)に加えて、スクリプトのどの部分からもグローバル変數(shù)にアクセスできます。関數(shù)內(nèi)のグローバル変數(shù)にアクセスするには、global キーワードを使用する必要があります。
PHP 関數(shù)內(nèi)で宣言された変數(shù)はローカル変數(shù)であり、関數(shù)內(nèi)でのみアクセスできます:
Instance
<?php $x = 5; // 全局變量 function myTest() { $y = 10; // 局部變量 echo "<p>測試函數(shù)內(nèi)變量:<p>"; echo "變量x為:$x"; echo "<br>"; echo "變量y為:$y"; } myTest(); echo "<p>測試函數(shù)外變量:<p>"; echo "變量x為:$x"; echo "<br>"; echo "變量y為:$y"; ?>
Run Instance ?
上記の例では、myTest() 関數(shù)は $x 変數(shù)と $y 変數(shù)を定義します。 $x 変數(shù)は関數(shù)の外部で宣言されているためグローバル変數(shù)であり、$y 変數(shù)は関數(shù)の內(nèi)部で宣言されているためローカル変數(shù)です。
myTest() 関數(shù)を呼び出して 2 つの変數(shù)の値を出力すると、関數(shù)はローカル変數(shù) $y の値を出力しますが、$x 変數(shù)は次のとおりであるため、$x の値を出力できません。関數(shù)の外で定義されており、関數(shù)內(nèi)で使用することはできません。関數(shù)內(nèi)のグローバル変數(shù)にアクセスしたい場合は、global キーワードを使用する必要があります。
次に、myTest() 関數(shù)の外側(cè)に 2 つの変數(shù)の値を出力します。この関數(shù)はすべてのローカル変數(shù) $x の値を出力しますが、$y 変數(shù)は で定義されているため、$y の値を出力できません。関數(shù)であり、ローカル変數(shù)です。
これらの関數(shù)で定義された変數(shù)名はローカル変數(shù)であり、その関數(shù)內(nèi)でのみ機能するため、異なる関數(shù)で同じ変數(shù)名を使用できます。
PHP グローバル キーワード
グローバル キーワードは、関數(shù)內(nèi)のグローバル変數(shù)にアクセスするために使用されます。
関數(shù)の外で定義されたグローバル変數(shù)を関數(shù)內(nèi)で呼び出すには、関數(shù)內(nèi)の変數(shù)の前に global キーワードを追加する必要があります:
例
<?php $x=5; $y=10; function myTest() { global $x,$y; $y=$x+$y; } myTest(); echo $y; // 輸出 15 ?>
PHP は、すべてのグローバル変數(shù)を $GLOBALS[index] という名前のファイルに保存します。配列。インデックスは変數(shù)の名前を保持します。この配列は関數(shù)內(nèi)でアクセスすることも、グローバル変數(shù)を更新するために直接使用することもできます。
配列については、次の章で詳しく紹介します。アクセス可能: PHP 配列
上記の例は次のように記述できます:
インスタンス
<?php $x=5; $y=10; function myTest() { $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y']; } myTest(); echo $y; ?>
関數(shù)が完了すると、通常、その変數(shù)はすべて削除されます。ただし、ローカル変數(shù)を削除したくない場合もあります。
これを行うには、最初に変數(shù)を宣言するときに static キーワードを使用します:
Instance
<?php function myTest() { static $x=0; echo $x; $x++; } myTest(); myTest(); myTest(); ?>
その後、関數(shù)が呼び出されるたびに、変數(shù)は関數(shù)が呼び出された前回の時間値から保持されます。
注: この変數(shù)は依然として関數(shù)のローカル変數(shù)です。
パラメータのスコープ
パラメータは、呼び出しコードを通じて関數(shù)に値が渡されるローカル変數(shù)です。
パラメータは、関數(shù)宣言の一部としてパラメータ リストで宣言されます:
例
<?php function myTest($x) { echo $x; } myTest(5); ?>
これについては、PHP 関數(shù)の章で詳しく説明します。
変數(shù)変數(shù)
変數(shù)変數(shù)は、宣言された変數(shù)の前に変數(shù)記號を追加します。以下の例を參照してください:
<?php //定義了一個變量叫作 $shu 將$shu這個變量的值設(shè)為字符串的biao $shu = 'biao'; //定義了一個【變量】$biao。將他的值設(shè)置為鼠標 $biao = '鼠標'; //$$shu 就是可變變量:在已聲明的變量$shu前又加上了一個變量符 echo $$shu; ?>
上記のプロセスの説明: $shu の値は文字列の 'biao' です。 $shuの前に$(ドル記號)を付けると、以下のような変形処理として理解できます:
$$shu
${$shu} 2つに分けて見てください
${'biao'}変數(shù) $ shu は、biao
$biao として解釈され、$biao も変數(shù)であり、対応する値は次のようになります: Mouse
それを理解した後は、自分で試すことができます。
変數(shù)とHTMLタグを一緒に使用する
$name = "tom"、$age = 20 という 2 つの変數(shù)がある場合。以下では、これら 2 つの変數(shù)を 2 つの方法で例として使用します。
<?php $name = "tom"; $age = 20; ?> <ul> <li> name : <?php echo $name; ?> </li> <li> age : <?php echo $age; ?> </li> </ul>
<?php $name = "tom"; $age = 20; echo "<ul>"; echo "<li> name: " . $name . "<li>"; echo "<li> age: " . $age . "<li>"; echo "</ul>"; ?>
上記 2 つの方法は同じ効果があり、柔軟に使用したいと考えています。