制御構造 (Control Structures)

if

if(  )
  
PHP: if - Manual

式がTRUEと評価されたときに、文が実行されます。式が論理値ではないときには論理値への変換が暗黙的に行われ、TRUEに変換されたときのみ文が実行されます。

else

elseif/else if

while

while(  )
  

do while

do {
  
} while(  )

for

foreach

break

breakは、

  • for、foreach
  • while、do while
  • switch

のいずれかの文の実行を終了します。

break
PHP: break - Manual

深いループから抜けるには、breakの引数でそのネストの段数を指定します。

break ネストしたループ構造を抜ける数
for( $i = 0; $i < 10; $i++ )
{
    switch( $i )
    {
        case 4:
            echo 'a';
            break 1; // switch文から抜ける

        case 5:
            break 2; // for文から抜ける
    }
    echo $i;
}
// 0123a4 と出力される

continue

switch

case式には、スカラー型 (論理値、整数、浮動小数点、文字列) を使用できます。そしてその評価は緩やかな比較 (==)で行われます。

PHP: switch - Manual

declare

 

return

 

include

指定ファイルを読み込みます。パスが指定されないときは、次の順で探します。

  1. include_pathのディレクトリ
  2. 呼び出し元スクリプトのディレクトリ
  3. 作業ディレクトリ
PHP: include - Manual

includeするファイルのエンコーディングが「UTF-8」のとき、BOMが含まれていると、それが空白行として表示されてしまいます。この問題は、BOMを含まないUTF-8でファイルを保存することで解決できます。それはエディタによっては「UTF-8 (BOMなし)」または「UTF-8N」と呼ばれます。

include_once

 

require

includeとほぼ同じですが、処理の失敗時の挙動が異なります。

includeとrequireの相違
指定ファイルが存在しないとき スクリプトの処理
include Warning「Failed opening 'foo.php' for inclusion」 続行
require Fatal error「Failed opening required 'foo.php'」 停止
PHP: require - Manual

複数のスクリプトで共通のファイルを読み込むならば、

  • auto_prepend_file (メインファイルのに読み込み)
  • auto_append_file (メインファイルのに読み込み)

を使用する方法もあります。これらの方法でも読み込み失敗時には、

Warning: Unknown: failed to open stream: No such file or directory in Unknown on line 0
Fatal error: Unknown: Failed opening required 'foo.php'

となり、requireと同じ挙動を示します。

require_once

 

goto