PHP 変数LOGIN

PHP 変数

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

インスタンス

<?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 では、これらの文字は変数と呼ばれます。

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

PHP変数

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

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

PHP 変数のルール:

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

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

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

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

以下は、いくつかの例を通して示されます:

<?php   
$var = 'hello';      //正确  
$var123 = 'hello';    //正确  
3var = 'hello';    //错误  
$_var = 'hello';     //正确  
$@#var = 'hello';     //错误 
?>

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


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


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

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

インスタンス

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

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

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

PHP は弱い型付け言語です


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

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

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

PHPのデータ型については後ほど説明します。

PHP 変数のスコープ


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

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

local (ローカル)

global (グローバル)

static (静的)

parameter (パラメータ)

すべての関数のローカルおよびグローバルスコープ

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

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

Instance

<?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";
?>

Run Instance »

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

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

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

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

PHP グローバル キーワード

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

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

<?php
$x=5;
$y=10;
function myTest()
{
global $x,$y;
$y=$x+$y;
}
myTest();
echo $y; // 输出 15
?>

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

配列については、次の章で詳しく紹介します。アクセス可能: PHP 配列

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

インスタンス

<?php
$x=5;
$y=10;
function myTest()
{
$GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
} 
myTest();
echo $y;
?>

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

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

Instance

<?php
function myTest()
{
static $x=0;
echo $x;
$x++;
}
myTest();
myTest();
myTest();
?>

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

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

パラメータのスコープ

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

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

<?php
function myTest($x)
{
echo $x;
}
myTest(5);
?>

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

変数変数

変数変数は、宣言された変数の前に変数記号を追加します。以下の例を参照してください:

<?php 
//定义了一个变量叫作 $shu 将$shu这个变量的值设为字符串的biao
$shu = 'biao'; 
//定义了一个【变量】$biao。将他的值设置为鼠标
$biao = '鼠标';
//$$shu 就是可变变量:在已声明的变量$shu前又加上了一个变量符
echo $$shu;
?>

上記のプロセスの説明: $shu の値は文字列の 'biao' です。 $shuの前に$(ドル記号)を付けると、以下のような変形処理として理解できます:

$$shu

${$shu} 2つに分けて見てください

${'biao'}変数 $ shu は、biao

$biao として解釈され、$biao も変数であり、対応する値は次のようになります: Mouse

それを理解した後は、自分で試すことができます。

変数とHTMLタグを一緒に使用する

$name = "tom"、$age = 20 という 2 つの変数がある場合。以下では、これら 2 つの変数を 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 つの方法は同じ効果があり、柔軟に使用したいと考えています。


次のセクション
<?php $x = 5; $y = 6; $z = $x + $y; echo $z; ?>
コースウェア