PHP で変数を宣言する

Jun 23, 2016 pm 02:30 PM

2.4 変数

変数とは、プログラムの実行中にいつでも変更できる量を指します。コード内で 1 つの変数のみを使用することも、複数の変数を変数に格納することもできます。待って。変数の値はプログラムの実行中に存在します。プログラムが終了すると、変数の値は失われます。先ほどの例でも変数を使用していますが、詳細な説明はありません。ここでは変数の作成方法と変数の参照方法を詳しく紹介します。

2.4.1 変数を作成する

PHP の変数は、変数の名前、関数の名前、または他のユーザーなど、さまざまなオブジェクトを識別する記号です。 -define オブジェクトの名前。 PHP では、識別子の命名は次の規則に従う必要があります:

l 識別子は 1 つ以上の文字で構成できますが、文字またはアンダースコアで始める必要があります。さらに、識別子は、文字、数字、アンダースコア文字、および 127 ~ 255 のその他の ASCII 文字のみで構成できます。 my_a、Ss、_value などの識別子名はすべて正当ですが、q^a や 4tt などの変数名は不正です。

l 識別子では大文字と小文字が区別されます。したがって、変数 $recipe は、変数 $Recipe、$rEciPe、または $recipeE とは異なります。

l 識別子は任意の長さにすることができます。これは、プログラマが名前を通じて識別子の目的を正確に説明できるため、有益です。

l 識別子名は、PHP の事前定義キーワードと同じにすることはできません。

変数を作成するプロセスでは、最初に変数を宣言してから、その変数に値を割り当てるのが良い習慣です。 PHP は弱い型指定言語であるため、変数を宣言するときに変数を明示的に宣言する必要はありません。PHP では、変数は実行時に型チェックされ、別の値に置き換えることができます。変数の値を指定するには、以下の変数を宣言し、その変数の値を別の型の値で置き換えてから、代入せずに変数を宣言します。具体的なコードは次のとおりです。 "Yound Tang";

$ what = 25;

$name;

PHP では、変数に値を代入する方法として、値の代入と参照の代入の 2 つの方法があります。値の代入は、代入式を通じて変数に値を直接コピーすることです。変数の宣言時に代入がない場合、その動作は NULL と同じになります。変数宣言時の代入はよく使われる変数の代入方法です。 使用例は以下の通りです。 echo "あなたの名前は:".$name."
";

echo "あなたの年齢は:".$age."
";

echo "あなたの性別は: ".$sex."
";

このコードを実行すると、実行結果は次のようになります:

あなたの名前: Tang Xiaoyang

あなたの年齢: 23歳

あなたの性別: 男性

PHP では、宣言された変数に値を直接割り当てることも、値を割り当てないこともできます。変数を使用して値を格納する必要がある場合、参照による代入とは、作成された変数が参照される変数と同じ内容を持つことを意味します。別の変数によって。したがって、複数の変数が同じ内容を参照している場合、それらのいずれかを変更すると、残りの変数に反映されます。参照の割り当ては、等号の後に & 記号を追加することで完了できます。参照割り当ての形式の例を以下に示します。

$value1="Hello World";

$value2=& $value1;

$value2="GoodBye";

echo $value1."
";

echo $value2."
”;

上記のコードでは、変数 value1 が作成され、値「Hello World」が割り当てられています。次のステートメントでは、変数 $value2 が参照割り当てを使用しています。つまり、value1 の値は次のとおりです。 value2 に割り当てられているため、この時点では、これら 2 つの変数はライフ コミュニティです。一方が変更されると、もう一方はその結果を表示します。

変数が宣言される場所によって、変数のスコープが決まります。PHP では、変数のスコープは、プログラムのどの部分が変数にアクセスできるか、どの部分がアクセスできないかを決定します。ローカル変数、関数パラメータ、グローバル変数、静的変数の 4 つのカテゴリ このセクションでは主にこれらの変数のスコープについて説明します。

1.ローカル変数

関数内で変数を宣言すると、その関数のローカル変数になります。つまり、その変数には関数内のメンバーのみがアクセスでき、関数外のメンバーは変数にアクセスできず、非表示になります。デフォルトでは、関数内のメンバーは関数の外で定義された変数 (いわゆるグローバル変数) にアクセスできません。ローカル変数は、グローバルにアクセス可能な変数が意図的または意図せずに変更される原因となる 1 ビットの副作用の可能性を排除するため、便利な場合があります。コード 2.13 に示すように、ローカル変数の使用例を作成してみましょう。

コード 2.13 ローカル変数の使用

$count =10;

function AddCount()

{

$count = 100;

$count = $count + $count;

echo $count;

echo "<br/>";

    }

    AddCount();

    echo $count;

?>

执行代码2.13,执行结果如下所示:

200

10

有输出结果知,该段代码输出了两个不同的值,这是因为函数AddCount函数中的变量为局部变量,修改局部变量的值不会影响函数外部的任何值,函数中的变量在程序结束时被抛弃,所以全局变量值还是10。

2.函数参数

在PHP中,函数可以接受相应的参数,虽然这些参数是接受函数外部的值,但退出函数后就无法访问这些参数,在函数执行结束后,参数的值就会消失,和函数的执行有很大的关系。函数参数是在函数后面的括号内声明,下面使用该参数创建一个示例,该示例如代码2.14所示。

代码2.14  运用函数参数

function EchoNum($age,$class)

{

echo "你的年龄是:".$age."<br/>";

         echo "所在班级:".$class;

   }

   EchoNum(18,"计算机技术与科学系08级5班");

?>

执行该段代码,执行结果如下所示:

你的年龄是:18

所在班级:计算机技术与科学系08级5班

函数参数也可以称为是局部变量,意味着这些参数只在函数内部起作用,在函数的外部不能访问这些变量,同样当函数执行结束时,变量同样也会撤销。

3.全局变量

全局变量可以在整个PHP程序中,任何地方访问,但是如果要修改一个全局变量,必须在修改该变量的函数中显式的声明为全局变量,在函数中显示声明全局变量很简单,只需在函数中使用global关键字声明就可以,下面创建一个使用全局变量的示例,具体讲解在函数中如何修改全局变量,该示例如代码2.15所示。

代码2.15  在函数中修改全局变量

function AddNum()

{

global $num;

$num = $num + $num ;

echo $num ;

}

$num = 100;

AddNum();

?>

执行代码2.15,执行结果如下所示:

200

如果不在$num前加global,该变量会被认为是局部变量,此时页面上显示的值为0;添加global后,就可以修改全局变量了,声明全局变量还有另外一种方法,那就是使用PHP的$GLOBALS数组,使用该数组和使用global的效果一样,下面创建一个使用$GLOBALS数组的示例,该示例如代码2.16所示。

代码2.16  使用$GLOBALS数组

function AddNum()

{

$GLOBALS['num'] =$GLOBALS['num']+$GLOBALS['num'] ;

echo "该值是:".$GLOBALS['num'] ;

}

$num = 100;

AddNum();

?>

执行代码2.16,执行结果如下所示:

该值是:200

 

 

在使用全局变量时,一定要注意,因为使用全局变量很容易发生意外。

 

4.静态变量

静态变量在两次调用函数之间其值不变,静态变量仅在局部函数域中声明,用关键字static可以声明一个静态变量。静态变量在函数退出时,不会丢失值,并且再次调用此函数时,还能保留值。下面创建一个使用静态变量的示例,该示例如代码2.17所示。

代码2.17  使用静态变量

function keepNum()

{

static $num =0;

$num ++;

echo "现在静态变量的值是:".$num;

echo "<br/>";

   }

   $num = 10;

   echo "变量num的值是:".$num."
";

   keepNum();

   keepNum();

?>

执行代码2.17,执行结果如下所示:

变量num的值是:10

现在静态变量的值是:1

现在静态变量的值是:2

由代码2.17执行结果知,由于在函数中指明了变量为静态变量,因此在执行函数时保留了前面的值。

2.3.3  变量的变量

创建一个变量,需要该变量赋值,当然也可以引用赋值,有时候也需要使用该变量的内容作为变量名,也就是说这个变量存放在另一个变量中。定义变量的变量只需要在变量的前面再添加一个美元符号即可。下面创建一个示例,该示例代码如下所示:

$name = "Yound";

$$name = " Tang";

echo $name.$$name;

?>

执行该端代码,执行结果如下所示:

Yound Tang

由上面例子知,一个可变变量获取了一个普通变量的值作为这个可变变量的变量名。就可以作为一个可变变量的变量了,这时,两个变量都被定义了

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 Apr 05, 2025 am 12:04 AM

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

セッションのハイジャックはどのように機能し、どのようにPHPでそれを軽減できますか? セッションのハイジャックはどのように機能し、どのようにPHPでそれを軽減できますか? Apr 06, 2025 am 12:02 AM

セッションハイジャックは、次の手順で達成できます。1。セッションIDを取得します。2。セッションIDを使用します。3。セッションをアクティブに保ちます。 PHPでのセッションハイジャックを防ぐための方法には次のものが含まれます。1。セッション_regenerate_id()関数を使用して、セッションIDを再生します。2。データベースを介してストアセッションデータを3。

確固たる原則と、それらがPHP開発にどのように適用されるかを説明してください。 確固たる原則と、それらがPHP開発にどのように適用されるかを説明してください。 Apr 03, 2025 am 12:04 AM

PHP開発における固体原理の適用には、次のものが含まれます。1。単一責任原則(SRP):各クラスは1つの機能のみを担当します。 2。オープンおよびクローズ原理(OCP):変更は、変更ではなく拡張によって達成されます。 3。Lischの代替原則(LSP):サブクラスは、プログラムの精度に影響を与えることなく、基本クラスを置き換えることができます。 4。インターフェイス分離原理(ISP):依存関係や未使用の方法を避けるために、細粒インターフェイスを使用します。 5。依存関係の反転原理(DIP):高レベルのモジュールと低レベルのモジュールは抽象化に依存し、依存関係噴射を通じて実装されます。

システムの再起動後にUnixSocketの権限を自動的に設定する方法は? システムの再起動後にUnixSocketの権限を自動的に設定する方法は? Mar 31, 2025 pm 11:54 PM

システムが再起動した後、UnixSocketの権限を自動的に設定する方法。システムが再起動するたびに、UnixSocketの許可を変更するために次のコマンドを実行する必要があります:sudo ...

phpstormでCLIモードをデバッグする方法は? phpstormでCLIモードをデバッグする方法は? Apr 01, 2025 pm 02:57 PM

phpstormでCLIモードをデバッグする方法は? PHPStormで開発するときは、PHPをコマンドラインインターフェイス(CLI)モードでデバッグする必要がある場合があります。

PHPでの後期静的結合を説明します(静的::)。 PHPでの後期静的結合を説明します(静的::)。 Apr 03, 2025 am 12:04 AM

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPのCurlライブラリを使用してJSONデータを含むPOSTリクエストを送信する方法は? PHPのCurlライブラリを使用してJSONデータを含むPOSTリクエストを送信する方法は? Apr 01, 2025 pm 03:12 PM

PHP開発でPHPのCurlライブラリを使用してJSONデータを送信すると、外部APIと対話する必要があることがよくあります。一般的な方法の1つは、Curlライブラリを使用して投稿を送信することです。

See all articles