PHP完全独学マニュアルlogin
PHP完全独学マニュアル
著者:php.cn  更新時間:2022-04-15 13:53:54

PHP変数



PHP 変数とは何ですか?

1. PHP の変数は、数学における集合と同様に、情報を保存するために使用されるコンテナーです。

2. 代入方法は数学の代数に似ています。

変数は、サーバーの動作を命令するときに、簡単にアクセスできるように一時的に保存する必要があるデータを生成する必要があることがよくあります。変数は、リンゴやドリアンを入れるために使用できるショッピング バッグのようなものであることも理解できます (もちろん、バラを入れるためにも使用できます)。一般に、変数は 1 つしか保持できないことに注意してください。あまり欲張らないでください) 値は、複合変数でない限り (変数の型については後で紹介します)、リンゴを入れてからドリアンを入れると、リンゴが置き換えられ、次にバナナを入れると、ドリアンは置き換えられます。


変数は、情報を保存するために使用される「コンテナ」です:

インスタンス

<?php
$x=5;
$y=6;
$z=$x+$y;
echo $z;
?>

インスタンスの実行»

オンラインの例を表示するには、[インスタンスの実行]ボタンをクリックしてください


代数に似ています

x =5
y=6
z=x+y

代数では、文字 (x など) を使用し、それらに値 (5 など) を割り当てます。

上記の式 z=x+y から、z の値は 11 であると計算できます。

PHP では、これらの文字は 変数 と呼ばれます。

lamp変数は、データを保存するために使用されるコンテナです。


PHP 変数

代数と同様に、PHP 変数には特定の値 (x=5) または式 (z=x+y) を割り当てることができます。

変数には、非常に短い名前 (x や y など) またはよりわかりやすい名前 (年齢、車名、合計容量など) を使用できます。

PHP 変数のルール:

  • 変数は $ 記号で始まり、その後に変数名が続きます

  • 変数名は文字またはアンダースコア文字で始まる必要があります

  • 変数名には英数字のみを含めることができます文字とアンダースコア (A-z、0-9、および _)

  • 変数名にはスペースを含めることはできません

  • 変数名は大文字と小文字が区別されます($yと$Yは2つの異なる変数です)

lamp PHP ステートメントと PHP 変数では大文字と小文字が区別されます。

PHP変数を作成(宣言)する

PHPには変数を宣言するコマンドがありません。

最初に値を割り当てると、変数が作成されます:

インスタンス

<?php
$txt="Hello world!";
$x=5;
$y=10.5;
echo $txt;
?>

インスタンスの実行»

オンラインインスタンスを表示するには、「インスタンスの実行」ボタンをクリックしてください

上記のステートメントでは、変数 txt は値 Hello world! を保持し、変数 x は値 5 を保持します。

注: テキスト値を変数に割り当てるときは、テキスト値を引用符で囲んでください。


PHP は弱い型付け言語です

上記の例では、変数のデータ型を PHP に宣言する必要がないことがわかりました。

PHP は、変数をその値に基づいて正しいデータ型に自動的に変換します。

厳密に型指定されたプログラミング言語では、使用する前に変数の型と名前を宣言 (定義) する必要があります。


PHP 変数のスコープ

変数のスコープは、変数を参照/使用できるスクリプトの部分です。

PHP には 4 つの異なる変数スコープがあります:

  • local

  • global

  • static

  • parameter


ローカルスコープとグローバルスコープ

外部で定義されたすべての関数 変数にはグローバル スコープがあります。関数に加えて、スクリプトのどの部分からもグローバル変数にアクセスできます。関数内のグローバル変数にアクセスするには、global キーワードを使用する必要があります。

PHP 関数内で宣言された変数はローカル変数であり、関数内でのみアクセスできます:

インスタンス

<?php 
$x=5; // 全局变量 

function myTest() 
{ 
    $y=10; // 局部变量 
    echo "<p>测试函数内变量:<p>"; 
    echo "变量 x 为: $x"; 
    echo "<br>"; 
    echo "变量 y 为: $y"; 
}  

myTest(); 

echo "<p>测试函数外变量:<p>"; 
echo "变量 x 为: $x"; 
echo "<br>"; 
echo "变量 y 为: $y"; 
?>

インスタンスの実行»オンラインの例を表示するには、[インスタンスの実行] ボタンをクリックしてください

上記の例では、myTest() 関数は $x 変数と $y 変数を定義します。 $x 変数は関数の外で宣言されているため、グローバル変数です。 の場合、$y 変数は関数内で宣言されているため、ローカル変数になります。

myTest()関数を呼び出して2つの変数の値を出力すると、 この関数はローカル変数 $y の値を出力しますが、$x 変数は関数の外部で定義されており、関数内でグローバル変数にアクセスする場合は使用できないため、$x の値は出力できません。関数を使用するには、グローバル キーワードを使用する必要があります。

次に、myTest() 関数の外側に 2 つの変数の値を出力します。この関数はすべてのローカル変数 $x の値を出力しますが、$y 変数はで定義されているため、$y の値を出力できません。関数であり、ローカル変数です。

これらの関数で定義された変数名はローカル変数であり、その関数内でのみ機能するため、異なる関数で同じ変数名を使用できます。

PHP グローバル キーワード

グローバル キーワードは、関数内のグローバル変数にアクセスするために使用されます。

関数の外で定義されたグローバル変数を関数内で呼び出すには、関数内の変数の前に global キーワードを追加する必要があります:

Instance

<?php
$x=5;
$y=10;

function myTest()
{
global $x,$y;
$y=$x+$y;
}

myTest();
echo $y; 
?>

Run Instance»

「Run Instance」ボタンをクリックしますオンラインで表示するには 例

PHP は、すべてのグローバル変数を $GLOBALS[index] という配列に保存します。 index 変数の名前を保存します。この配列は関数内でアクセスすることも、グローバル変数を更新するために直接使用することもできます。

上記の例は次のように記述できます:

インスタンス

<?php
$x=5;
$y=10;

function myTest()
{
$GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
} 

myTest();
echo $y;
?>

実行例»

オンラインの例を表示するには、[インスタンスの実行]ボタンをクリックしてください

注:上記のコードは PHP5 バージョンでは 15 ですが、PHP 中国語 Web サイトのオンライン インスタンス環境は PHP7 バージョンであるため、出力値は 10 になるはずです。最新バージョンの php7 では、PHP グローバル変数の処理メカニズムが変更されているため、このバージョンではグローバル キーワード は単純な変数のみを参照できます。違いの詳細については、次の記事を参照してください:

PHP5 および PHP7 バージョンでのグローバル変数メカニズムの変更点は何ですか? (コード実際のテスト)


静的スコープ

関数が完了すると、通常、その変数はすべて削除されます。ただし、ローカル変数を削除したくない場合もあります。

これを行うには、最初に変数を宣言するときに static キーワードを使用します:

Instance

<?php

function myTest()
{
static $x=0;
echo $x;
$x++;
}

myTest();
myTest();
myTest();

?>

Run Instance»

[Run Instance] ボタンをクリックしてオンライン インスタンスを表示します

その後、関数が呼び出されるたびに、変数には前回関数が呼び出されたときの値が保持されます。

注: この変数は依然として関数のローカル変数です。


パラメータスコープ

パラメータは、呼び出しコードを通じて関数に値が渡されるローカル変数です。

パラメータは関数宣言の一部としてパラメータリストで宣言されます:

Instance

<?php

function myTest($x)
{
echo $x;
}

myTest(5);

?>

Run Instance»

オンラインサンプルを表示するには「Run Instance」ボタンをクリックしてください

これについては PHP 関数 の章で詳しく説明します。

Note