PHP定数
はじめに
定数は、$ x=10や$name="XYZ"などの代入式で文字通り表されます。ここで、10とXYZは、変数に割り当てられた数値定数と文字列定数です。 PHPでは、define()関数を使用してユーザー定義の識別子を使用して定数を定義することができます
構文
define ( string $name , mixed $value [, bool $case_insensitive = FALSE ] ) : bool
パラメータ
Sr.No | |
---|---|
1 | 名前 定数の名前。 |
2 | 値 定数の値は、任意のスカラー値(整数、浮動小数点、文字列など)または配列です。 |
3 | case_insensitive デフォルトでは、定数識別子では大文字と小文字が区別されます。このパラメーターがtrueに設定されている場合、nameとNAMEは同様に扱われます |
戻り値
定義が成功した場合、関数はTRUEを返し、そうでない場合はFALSEが返されます
例
次の例は、define()関数を使用して定数を定義する方法を示しています
<?php define("maxmarks",300); define("pi", 3.142); define("subjects",["phy", "che", "maths"]); ?>
マジック定数
PHPには多数の事前定義された定数がありますが、対応する拡張機能がインストールされている場合、それらのほとんどは有効になります。ただし、次の定数(マジック定数と呼ばれます)は常に使用できます
名前 | 説明 |
__ LINE __ | ファイルの現在の行番号。 |
__ FILE __ | ファイルのフルパスとファイル名 |
__ DIR __ | ファイルのディレクトリ。 |
__ FUNCTION__ | 関数名、または無名関数の場合は{closure}。 |
__ CLASS __ | クラス名。クラス名には、宣言された名前空間が含まれます(Foo \ Barなど)。 PHP 5.4以降、__CLASS__はトレイトでも機能することに注意してください。トレイトメソッドで使用される場合、__CLASS__はトレイトが使用されるクラスの名前です。 |
__ TRAIT __ | 特性名。トレイト名には、宣言された名前空間が含まれます(例:Foo \ Bar)。 |
__ METHOD __ | クラスメソッド名。 |
__ NAMESPACE __ | 現在の名前空間の名前。 |
次の例は、いくつかの魔法の定数を示しています
例
<?php echo "Line no: " . __LINE__ . "\n"; echo "file name : " . __FILE__ . "\n"; echo "directory name: " . __DIR__ . "\n"; function myfunction(){ echo "function name: " . __FUNCTION__ . "\n"; } class myclass{ public function __construct() { echo __CLASS__ . "\n"; } public function mymethod(){ echo __METHOD__; } } $obj=new myclass(); $obj->mymethod(); ?>
出力
以下の結果が表示されます
Line no: 2 file name : C:\xampp\php\testscript.php directory name: C:\xampp\php myclass myclass::mymethod
-
PHPでドメイン名を検証する方法は?
ドメイン名は、PHPで以下のコードを使用して検証できます- 例 <?php function is_valid_domain_name($domain_name) { return (preg_match("/^([a-zd](-*[a-zd])*)(.([a-zd](-*[a-zd])*))*$/i", $domain_name) //valid characters check && preg_match("/^.{1,253}$/", $domain_name) //over
-
PHPのzip_entry_name()関数
zip_entry_name()関数は、zipアーカイブファイルの名前を返します。 構文 zip_entry_name(zip_entry) パラメータ zip_entry − zip_open()で開いたzipファイルをここに記載します。 戻る zip_entry_name()関数は、zipアーカイブファイルの名前を返します。 以下は例です。 zipアーカイブ「new.zip」に5つのファイルがあるとします。 例 <?php $zip = zip_open("new.zip"); if ($zip)