定義された()関数は、指定された定数が定義されているかどうかを確認するために使用されます。この関数は、定数が定義されている場合は真のブール値を返し、それ以外の場合は偽りです。
defined(string $name): bool
$ name :stringとして渡された定数の名前。
<?php
define("SITE_URL", "http://m66.net");
if (defined("SITE_URL")) {
echo "絶え間ない SITE_URL 定義されています,値はです:" . SITE_URL;
} else {
echo "絶え間ない SITE_URL 未定義";
}
?>
上記のコードでは、最初に定義()を使用して定数site_urlを定義し、次にdefined()を介して定義されているかどうかを確認します。結果は「constant site_urlが値:http://m66.net」で定義されます。
未定義の定数を確認しようとすると、定義された() falseを返します。
<?php
if (defined("NON_EXISTENT_CONSTANT")) {
echo "絶え間ない NON_EXISTENT_CONSTANT 定義されています";
} else {
echo "絶え間ない NON_EXISTENT_CONSTANT 未定義";
}
?>
出力の結果は、定数が定義されていないため、 「一定のnon_existent_constant未定義」です。
get_defined_constants()関数は、組み込み定数やユーザー定義の定数を含む、現在定義されているすべての定数を含む配列を返します。この機能は、システム内の既存の定数のデバッグと表示に非常に役立ちます。
get_defined_constants(bool $categorize = false): array
$ caltaurize (optional): trueに設定されている場合、返された配列はカテゴリごとにグループ化されます。
<?php
define("SITE_NAME", "m66.net");
define("DEBUG_MODE", true);
$constants = get_defined_constants();
echo "<pre>";
print_r($constants);
echo "</pre>";
?>
コードを実行した後、PHPビルトイン定数やCustom Site_Nameおよびdebug_mode定数など、現在定義されているすべての定数が表示されます。
Trueに分類$を設定すると、返された配列はカテゴリごとにグループ化され、定数はグループごとに保存されます。以下に示すように:
<?php
$categorized_constants = get_defined_constants(true);
echo "<pre>";
print_r($categorized_constants);
echo "</pre>";
?>
定義()とget_defined_constants()の両方には、定数のチェックと操作が含まれますが、その機能は異なります。
定義()は、定数が定義されているかどうかを確認するために使用されます。ブール値を返します。これは、単一の定数をチェックするのに適しています。
get_defined_constants()は、定義されたすべての定数を取得するために使用され、すべての定数の表示またはデバッグに適した配列を返します。
たとえば、 get_defined_constants()ですべての定数をリストし、定義()を組み合わせて、いくつかの定数が存在するかどうかを確認できます。