ホームページ  >  記事  >  バックエンド開発  >  PHPの基礎~式入門

PHPの基礎~式入門

巴扎黑
巴扎黑オリジナル
2016-11-07 17:44:35976ブラウズ

式は PHP の最も重要な基礎です。 PHP プログラミング

では、作成するほぼすべてが式です。式を定義する簡単ですが最も正確な方法は、「値を持つもの」です。



最も基本的な式形式は定数と変数です。 「$a = 5」と入力すると、値「5」が変数 $a に割り当てられます。 「5」は、当然その値が 5 です。つまり、「5」は値が 5 の式です (ここで、「5」は整数の定数です)。



代入後は、$a の値が 5 であることが期待されるため、$b = $a と書くと、$b = 5 と同じになることが期待されます。つまり、$a は 5 と評価される式でもあります。すべてが正しく機能すれば、まさにこれが起こることになります。



もう少し複雑な式の例は関数です。たとえば、次の関数について考えてみましょう。 function foo () 基本的には $c = 5 と書くのと似ており、これは正しいです。関数も式であり、式の値はその戻り値です。 foo() は 5 を返すため、式「foo()」も 5 と評価されます。多くの場合、関数は静的な値を返すだけでなく、何かを計算する場合があります。



もちろん、PHP の値は整数ではないことがよくあります。 PHP は、整数、浮動小数点、文字列、ブール値 (ブール値) の 4 種類のスカラー値をサポートしています (スカラー値は配列などの小さな単位に分割できません)。 PHP は、配列とオブジェクトという 2 つの複合タイプもサポートしています。どちらの型も変数に代入したり、関数から返すことができます。



PHP は他の言語と同様に式パスで開発されていますが、さらに進化しています。 PHP は、ほとんどすべてが式であるという意味で、式指向の言語です。先ほど検討した例「$a = 5」について考えてみましょう。明らかに、ここには 2 つの値が関係しています。それは、整定数「5」の値と、同じく 5 に更新される変数 $a の値です。しかし実際には、付加価値、つまり付加価値ステートメント自体の価値が関係しています。代入ステートメント自体は、割り当てられた値 (5) に評価されます。これは事実上、「$a = 5」は、その内容に関係なく、5 と評価される式であることを意味します。したがって、「$b = ($a = 5)」と書くことは、「$a = 5; $b = 5」と書くことと同じです (セミコロンはステートメントの終わりを示します)。代入演算の順序は右から左なので、「$b = $a = 5」と書くこともできます。



もう 1 つの式指向の良い例は、前後のインクリメントとデクリメントです。 PHP およびその他のほとんどの言語のユーザーは、variable++ および variable-- シンボルに精通している必要があります。つまり、インクリメント演算子とデクリメント演算子です。 PHP では、C 言語と同様に、プレインクリメントとポストインクリメントの 2 種類のインクリメントがあり、基本的に、プレインクリメントとポストインクリメントの両方で変数の値が増加し、変数への影響は同じです。異なる値は、インクリメント式の値です。プレインクリメントは、「++$variable」と記述され、増加した値を見つけます (PHP は、変数の値を読み取る前に変数の値をインクリメントするため、「プレインクリメント」と呼ばれます)。ポストインクリメントは、「$variable++」と記述され、インクリメントされる前に変数の元の値を検索します (PHP は変数の値を読み取った後に変数の値をインクリメントするため、「ポストインクリメント」と呼ばれます)。



一般的に使用される式のタイプは比較式です。これらの式は FALSE または TRUE に評価されます。 PHP は、> (より大きい)、>= (以上)、== (等しい)、!= (等しくない)、


ここで、最後に学習する例は、結合演算代入式です。変数 $a に 1 を追加したい場合は、単に「$a++」または「++$a」と書くだけで済むことはすでにわかっています。しかし、3 などの 1 より大きい値を変数に追加したい場合はどうすればよいでしょうか? 「$a++」を複数回記述することもできますが、これは明らかに効率的で快適な方法ではありません。 「$a = $a + 3」。 「$a + 3」は、$a に 3 の値を加えたものと等しく、その結果の値が変数 $a に再代入されるため、$a の値は 3 増加します。 PHP や C などの他のいくつかの言語では、上記の関数を短い形式で実行できるため、より明確かつ迅速に実行できます。 $a の現在の値に 3 を加算するには、「$a += 3」と記述します。ここでの意味は、「変数 $a の値を取得し、3 を加算し、その結果を変数 $a に再度代入する」ということです。よりシンプルかつ明確であることに加えて、より高速に実行することもできます。 「$a += 3」の値は、通常の代入演算の値と同様に、代入後の値になります。これは 3 ではなく、$a に 3 を加えた値であることに注意してください (この値は $a に割り当てられます)。任意の二項演算子で、「$a -= 5」(変数 $a の値から 5 を減算)、「$b *= 7」(変数 $b に 7 を乗算) などの演算割り当てパターンを使用できます。 。



他の言語で見たことがないと奇妙に見えるかもしれない、三項条件演算子という表現もあります:



$first ? $second : $third

?>

最初の部分式の値が TRUE (ゼロ以外) の場合、2 番目の部分式が評価され、その値は条件式全体の値になります。それ以外の場合、3 番目の部分式が評価され、その値が式全体の値になります。



次の例は、前置インクリメントと後置インクリメントおよび式一般を理解するのに役立ちます。 = $a = 5; /* 値 5 を変数 $a と $b に代入します */

$c = $a++ /* インクリメント後、$a の元の値

(5) を $c に代入します * /

$e = $d = ++$b; /* 事前インクリメント、

$b (6) のインクリメントされた値を $d と $e に代入 */

/* この時点では両方とも $d $e は 6 に等しい */

$f = double($d++); /*

増分の前の $d の値の 2 倍、2*6 = 12 を $f に代入します */

$g = double( ++$e); /*

インクリメント後の $e の値 2*7 = 14 を $g に代入します */

$h = $g += 10 /* 最初に、$g が 10 ずつインクリメントされますそして、24 の

の値で終わります。assignment(24) の値は

に $h に代入され、$h も 24 の値

で終わります。 */

?>

いくつかの式。数式はステートメントとして扱うことができます。このときの文の形式は expr;、つまりセミコロンで終わる式となります。 '$b = $a = 5;' の '$a = 5' は有効な式ですが、それ自体はステートメントではありません。 「$b = $a = 5;」は有効なステートメントです。



最後に言及する価値があるのは、式の真理値です。多くのイベント (主に条件付き実行やループ) では、式の特定の値は考慮されず、式の値が TRUE か FALSE かだけが考慮されます。定数 TRUE と FALSE (大文字と小文字は区別されません) は、2 つの可能なブール値です。式は、必要に応じて自動的にブール値に変換されます。

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