menu
ホーム > PHPの文法 > 1 基本構造 > PHP の 予約語(キーワード)
PHPリファレンス

UPDATE:2023年05月29日

PHP の 予約語(キーワード)

PHP の 予約語(キーワード) | wepicks!
PHP5 PHP7 PHP8


予約語簡単まとめ

1 Minute Note

  • 予約語 はPHPで予め予約されている 単語
  • 予約語 は 特別な意味を持っている
  • 予約語 は 大文字/小文字を区別しない
  • 予約語 は キーワード、定義済のクラス、定義済みの定数 がある
  • 予約語 は 関数名、メソッド名、クラス名、定数名 として使用できない
予約語はPHPで特別な意味を持っている単語です。PHP言語を構成している単語で、関数やメソッド、定数のような働きをします。これらの単語は、キーワード、定義済のクラス、定義済みの定数 があり、関数名、クラス名、メソッド名、定数名、などで使用することは出来ません。
PHP7.0.0から規制が緩和され、クラスやインターフェイス、トレイトの内部では、予約語をプロパティ名、定数名、メソッド名として使うことが出来るようになりました。

予約語とは

POINT

  • 予約語は
     ・PHP言語で予め「予約」されている単語
     ・特別な意味を持っている
     ・大文字/小文字が区別されない
     ・キーワード、定義済のクラス、定義済みの定数 がある
     ・関数名、メソッド名、クラス名、定数名として使用できない
  • ※予約語は変数名として使用できます。ですが、混同してしまわないように気を付けて下さい。

予約語とは、PHP言語で予め「予約」されている単語のことです。予約語はPHP自体の機能を実現するために特別な意味を持っています。従って、これらの予約語として使用されている単語は、関数名、メソッド名、クラス名、定数名として使用できません。また、予約語は大文字/小文字が区別されません。さらに、PHPの組み込み関数と同じ名前の識別子を使用することはできません。

予約語は関数、メソッド、定数、などを表すという理解がなされていますが、実際はPHP言語を構成するものです。

例えば、ifelse は 予約語 になります。PHPの条件式を作成するために必要な特別な意味を持っています。

if や else は関数やメソッドではなく、言語構成の単語だということが分かります。

予約語を関数名にしてしまうと

予約語の echo を関数名にして関数を定義すると、

構文解析エラー(Parse error)が発生します。

PHP Parse error: syntax error, unexpected token "echo", expecting

予約語を変数名にできる

予約語を変数名で利用することは出来ますが、混乱を招くので避けるのが良いでしょう。

結果は

こんにちは

となります。

予約語のキーワード

予約語のキーワード

PHPの予約語として登録されている キーワード です。

__halt_compiler()abstractandarray()as
breakcallablecasecatchclass
cloneconstcontinuedeclaredefault
die()doechoelseelseif
empty()enddeclareendforendforeachendif
endswitchendwhileeval()exit()extends
finalfinallyfn (PHP 7.4 以降)forforeach
functionglobalgotoifimplements
includeinclude_onceinstanceofinsteadofinterface
isset()list()match (PHP 8.0 以降)namespacenew
orprintprivateprotectedpublic
readonly (PHP 8.1.0 以降) *requirerequire_oncereturnstatic
switchthrowtraittryunset()
usevarwhilexoryield
yield from    

* readonly は、関数名として使用可能。

int (PHP7 以降)float (PHP7 以降)bool (PHP7 以降)string (PHP7 以降)true (PHP7 以降)
false (PHP7 以降)null (PHP7 以降)void (PHP7.1 以降)iterable (PHP7.1 以降)object (PHP7.2 以降)
resource (PHP 7 以降)mixed (PHP 7 以降)numeric (PHP 7 以降)never (PHP 8.1 以降)enum

enum、resource、numeric これらの予約語は弱い予約語として確保されており、クラスやインターフェイス、トレイトの名前として使用できます。

コンパイル時の定数(マジカル定数)

__CLASS__ __DIR__ (PHP 5.3 以降) __FILE__ __FUNCTION__ __LINE__
__METHOD__ __NAMESPACE__ (PHP 5.3 以降) __TRAIT__ (PHP 5.4 以降) ClassName::class

定義済のクラス

PHPの予約語としてPHPに標準定義されているクラスです。同じ名前のクラスを定義することは出来ません。

DirectorystdClass__PHP_Incomplete_ClassException
ErrorExceptionphp_user_filterClosureGenerator
ArithmeticErrorAssertionErrorDivisionByZeroErrorError
ThrowableParseErrorTypeError

定義済みの定数

PHPの予約語としてPHPのコアで定義されている定数です。PHP、Zend engine、SAPI モジュールも含みます。同じ名前の定数を定義することはできません。例外としてクラス内のconstで定義する定数名としては使用が可能です。

PHP_VERSION (string)PHP_MAJOR_VERSION (int)PHP_MINOR_VERSION (int)PHP_RELEASE_VERSION (int)
PHP_VERSION_ID (int)PHP_EXTRA_VERSION (string)PHP_ZTS (int)PHP_DEBUG (int)
PHP_MAXPATHLEN (int)PHP_OS (string)PHP_OS_FAMILY (string)PHP_SAPI (string)
PHP_EOL (string)PHP_INT_MAX (int)PHP_INT_MIN (int)PHP_INT_SIZE (int)
PHP_FLOAT_DIG (int)PHP_FLOAT_EPSILON (float)PHP_FLOAT_MIN (float)PHP_FLOAT_MAX (float)
DEFAULT_INCLUDE_PATH (string)PEAR_INSTALL_DIR (string)PEAR_EXTENSION_DIR (string)PHP_EXTENSION_DIR (string)
PHP_PREFIX (string)PHP_BINDIR (string)PHP_BINARY (string)PHP_MANDIR (string)
PHP_LIBDIR (string)PHP_DATADIR (string)PHP_SYSCONFDIR (string)PHP_LOCALSTATEDIR (string)
PHP_CONFIG_FILE_PATH (string)PHP_CONFIG_FILE_SCAN_DIR (string)PHP_SHLIB_SUFFIX (string)PHP_FD_SETSIZE (string)
E_ERROR (int)E_WARNING (int)E_PARSE (int)E_NOTICE (int)
E_CORE_ERROR (int)E_CORE_WARNING (int)E_COMPILE_ERROR (int)E_COMPILE_WARNING (int)
E_USER_ERROR (int)E_USER_WARNING (int)E_USER_NOTICE (int)E_RECOVERABLE_ERROR (int)
E_DEPRECATED (int)E_USER_DEPRECATED (int)E_ALL (int)E_STRICT (int)
__COMPILER_HALT_OFFSET__ (int)true (bool)false (bool)null (null)
PHP_WINDOWS_EVENT_CTRL_C (int)PHP_WINDOWS_EVENT_CTRL_BREAK (int)

PHP7.0.0から予約語規制の緩和

PHP7.0.0から予約語をクラス、トレイト、インターフェイスの内部でプロパティ名定数名メソッド名として使用できるようになりました。キーワード class は例外で、定数名として使用できません。

実行結果
if
else
echo
return
static
switch

タグ(=記事関連ワード)

日付

公開日:2017年6月16日
最終更新日:2023年05月29日

配列関数サンプル

このカテゴリの他のページ

この記事へのコメント

トラックバックurl

https://wepicks.net/phpref-yoyakugo/trackback/

page top