ホームページ >バックエンド開発 >PHPチュートリアル >{php式
式は PHP の最も重要な基礎です。 PHP では、作成するほぼすべてが式です。式を定義する簡単ですが最も正確な方法は、「値を持つもの」です。
最も基本的な式の形式は定数と変数です。
<p class="sycode"> <? php $a = " 5 " ; echo $a; ?> </p>
「$a = 5」と入力すると、値「5」が変数 $a に代入されます。 「5」は当然、値 5 を持ちます。つまり、「5」は値 5 を持つ式です (ここで、「5」は整数定数です)。
代入後、$a の値は 5 であることが期待されるため、$b = $a と書くと、$b = 5 と同じになることが期待されます。つまり、$a は 5 と評価される式でもあります。すべてが正しく機能すれば、まさにこれが起こることになります。
関数も式であり、式の値が戻り値になります。たとえば、次の関数について考えてみましょう。
<p class="sycode"> <? phpfunction fun (){ return 5 ;}$shit = fun();echo $shit; ?> </p> <p class="sycode"> 返回值:5 </p>
この場合、$c = foo() と入力することは、本質的には $shit = 5 と記述することと同じであり、これは正しいことです。 fun() は 5 を返すため、式「fun()」も 5 と評価されます。多くの場合、関数は静的な値を返すだけでなく、何かを計算する場合があります。
もちろん、PHP の値は整数ではないことがよくあります。 PHP は 4 種類のスカラー値をサポートします (スカラー値は配列などの小さな単位に分割できません)
型: 整数値 (integer)、浮動小数点値 (float)、文字列値 (string)、およびブール値。 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 およびその他のほとんどの言語のユーザーは、変数 ++ および変数 -- シンボルに精通している必要があります。つまり、インクリメント演算子とデクリメント演算子です。 PHP/FI 2 では、ステートメント "$a++" には値がない (式ではない) ため、値を代入したり、他の方法で使用したりすることはできません。 PHP は、C 言語と同様に、インクリメント/デクリメント機能を式に変換することで機能を強化します。 PHP と C 言語には、プリインクリメントとポストインクリメントの 2 種類のインクリメントがあり、基本的に、プリインクリメントとポストインクリメントはどちらも変数の値を増加させ、変数に同じ影響を与えます。違いは、式の値が増加することです。 「++$variable」と記述される事前インクリメントは、インクリメント後の値を検索します (PHP は変数の値を読み取る前に変数の値をインクリメントするため、「事前インクリメント」と呼ばれます)。ポストインクリメントは、「$variable++」と記述され、インクリメントされる前に変数の元の値を検索します (PHP は変数の値を読み取った後に変数の値をインクリメントするため、「ポストインクリメント」と呼ばれます)。
一般的に使用される式のタイプは比較式です。これらの式は FALSE または TRUE に評価されます。 PHP は > (より大きい)、>= (以上)、== (等しくない)、<(より小さい)、<= (以下) をサポートします。に)。 PHP は、等価演算子 === (同じ値と型) および非同一演算子 !== (異なる値または型) もサポートします。これらの式は、if ステートメントなどの条件判断ステートメントで最も一般的に使用されます。
ここで学習する最後の例は、結合された算術代入式です。変数 $a に 1 を追加したい場合は、単に「$a++」または「++$a」と書くだけで済むことはすでにわかっています。しかし、1 より大きい値、たとえば 3 を変数に追加したい場合はどうすればよいでしょうか? 「$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 を乗算) などの演算割り当てパターンを使用できます。 。
他の言語で見たことがないと奇妙に見えるかもしれない式、つまり三項条件演算子もあります。 TRUE (ゼロ以外) の場合、2 番目の部分式が評価され、その値が式全体の値になります。それ以外の場合は、3 番目の部分式の値になります。
通常、次の例は、前および後のインクリメントと式を理解するのに役立ちます。
return $i*2 }
$b = $ 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 倍の値を代入します値 24 で終わります。代入 (24) の値は
で $h に代入され、$h は値
で終わります。声明として。このときの文の形式は「expr」「;」、つまりセミコロンで終わる式となります。 「$b=$a=5;」では、$a=5 は有効な式ですが、それ自体はステートメントではありません。 「$b=$a=5;」は有効なステートメントです。
最後に言及する価値があるのは、式の真理値です。多くの場合、主に条件付き実行やループでは、式の明示的な値に焦点を当てるのではなく、式の値が TRUE か FALSE であるかに注意を払います。定数 TRUE と FALSE (大文字と小文字は区別されません) は、2 つの可能なブール値です。必要に応じて、式は自動的にブール値に変換されます。 「型キャスト」セクションを参照してください。
PHP は完全かつ強力な式セットを提供しますが、その完全なドキュメントの提供はこのマニュアルの範囲を超えています。上記の例は、式が何であるか、そして有用な式を構築する方法についての良いアイデアを提供するはずです。このマニュアルの残りの部分では、有効な PHP 式を表すために常に expr を使用します。