式
  
  
   式は、PHP における最も重要なビルディングブロックです。PHPにおいては、ほとんど全てのものは式で記述されます。
   最も簡単で最も正確な式の定義は、"値があるもの全て"です。
  
  
   考えられる簡単な例は、定数と変数です。
   $a = 5 と入力すると、
   $a に 5 を代入することになります。
   5 は、明らかに、 5 という値です。
   言葉を変えると 5 は 5 という値を有する式なのです。
   (この場合、5 は整数定数です。)
  
  
   この代入の後、$a の値は、5 であることが期待されます。
   よって、$b = $a と書いた場合、$b = 5 と書いたのと
   同じように動作することが期待されます。
   言い換えると $a は 5 という値を持つ式なのです。
   全てが正しく動作する場合、何が起こるかをこのことが正確に表現しています。
  
  
  
   式をもう少し複雑にしたのが関数です。
   例えば、次の関数を考えてみましょう。
   
   
  
  
   あなたが関数の概念に慣れていると仮定すると
   (そうでない場合は、関数
   に関する章を参照ください。)、
   $c = foo() と入力することは、
   $c = 5 と書くことと本質的に全く同じで
   あると予想されたかもしれません。この予想は、正しいです。
   関数は、その戻り値を値とする式なのです。
   foo() は 5 を返すので、式 'foo()' の値は 5 です。
   通常、関数は、決まった数だけを返すのではなく、何かを計算します。
  
  
   もちろん、PHP の値は整数である必要はありませんし、
   多くの場合、そうではありません。
   PHP は、4 種類のスカラー型: 整数(int)、
   浮動小数点数(float)、文字列(string)、
   真偽値(bool) をサポートします。
   (スカラーとは、配列とかと異なり、より小さな部分に'分割する'ことができない値のことです。)
   PHP は、2種類の複合(非スカラー)型(配列とオブジェクト)もサポートします。
   これらの型の値は、変数に代入することができ、
   関数からの戻り値とすることができます。
  
  
   PHP は、他の多くの言語が行うのと同じ手法で、
   更に多くの式を使用可能です。
   PHP は、ほとんど全てが式であるという意味で、式指向の言語です。
   既に取り扱った $a = 5 という例について考えてみましょう。
   この式には、整数定数の 5 と 5 に更新された $a の値という
   2 つの値が現れているということに容易に気づくことでしょう。
   しかし、実際には、ここにはもうひとつの値が含まれています。
   それは、代入自体の値です。
   代入式は、それ自体、代入値を評価します。
   この場合、その値は 5 になります。
   このことは、実際には、$a = 5 は、それが何をするかによらず、
   値 5 を有する式であることを意味します。
   つまり、
   $b = ($a = 5) のように書くことは、
   $a = 5; $b = 5; と書くのと
   同様なのです。(セミコロンは、文の終わりを示します。)
   代入は、右から左へ実行されるため、$b = $a = 5
   と書くことも可能です。
  
  
   式の配置に関する別の良い例は、前置、後置加算子、あるいは減算子です。
   PHP と他の多くの言語のユーザーは、variable++ や
   variable-- といった表記法に慣れていることでしょう。
   これらは、加算子および減算子です。
   PHP においては、C 言語のように、
   前置加算と後置加算という、2 種類の加算があります。
   前置加算と後置加算は、両方とも、基本的には変数を増加させ、
   変数に対する効果は同じです。
   異なっているのは、加算する式の値です。
   前置加算は、++$variable と書かれますが、
   加算後の値を評価します
   (PHP はその値を読む前に変数を増加させるので、'前置加算(pre-increment)'
   という名前がついています)。
   後置加算は、$variable++ と書かれますが、加算される前の
   $variable の元の値を評価します。
   (PHP は、その値を読んだ後に変数を増加させるので、
   '後置加算(post-increment)' という名前がついています。)
  
  
   比較演算子は、
   極めて標準的な式です。
   比較演算子は、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 をかける)等のように、
    全ての 2 項演算子は、この演算子+代入式のモードで使用することができます。
  
  
   もう一種類、三項演算子(ternary operator)を用いた式がありますが、
   他の言語で見たことがない場合には理解できないかもしれません。
  
  
   
  
  
   最初の部分式の値が true (非ゼロ)の場合、二番目の部分式が評価され、
    この条件文の結果となります。
   そうでない場合、三番目の部分式が評価され、この文の値となります。
  
  
  
   次の例は、前置および後置加算子と多少一般的な式の理解を
   助けてくれることでしょう。
  
  
   
  
  
  
   式が、文として扱われることがあります。
   この場合、文は、'式 ;'、つまり式の後にセミコロンがついた形式です。
   $b = $a = 5; において、$a = 5 は有効な式ですが、
   自身を値とする文ではありません。
   しかし、$b = $a = 5; は有効な文です。
  
  
  
   最後に、有益な事項として式の論理値について説明します。
   多くのイベント、主に条件付き実行とループにおいて、
   式の特定な値には関心がないが、true または false のどちらを
   意味するかに関心があるということがあります。
   
   定数trueとfalse(大文字小文字を区別しない)は、論理型の値がとり得る
   値です。必要に応じて式は論理値に変換されます。詳細な手法については、
  型キャストに関するセクション
  を参照ください。
  
  
   PHP  は、完全で強力な式の実装を提供します。
   それを完全に記述することは、このマニュアルの範囲を超えています。
   上記の例は、式とは何か、そして、便利な式をどうやって作るかということ
   に関して良いアイデアを与えるに違いありません。
   本マニュアルの残りの部分ではexprという
  マークを使用しますが、これは PHP の有効な式を意味します。