Синтаксис
Константу можна визначити за допомогою ключового слова const
або за допомогою функції define(). В той час як define() дозволяє задати константу через вираз, конструкція const
обмежена як описано у наступному параграфі. Після того, як константа визначена, її значення може бути змінено чи анульовано.
При использовании ключевого словаconst
допускаються тільки скалярні вирази (bool, int, float і string) та константи array, що містять лише скалярні вирази. Можна визначити константи з типом ресурсу, але не рекомендується, оскільки це може призвести до несподіваних результатів.
Отримати значення константи можна, вказавши її ім'я. На відміну від змінних, вам не потрібно попереджувати ім'я константи символом $
. Також можна використовувати функцію constant() для отримання константи, якщо ви формуєте ім'я константи динамічно. Використовуйте функцію get_defined_constants() для отримання списку всіх констант.
Зауваження: Константи та (глобальні) змінні знаходяться у різних просторах імен. Це означає, що, наприклад,
true
і $TRUE загалом відрізняються.
Якщо використовується невизначена константа, викидається Error. . До PHP 8.0.0 невизначені константи інтерпретувалися як просте слово string, тобто (CONSTANT vs "CONSTANT"). Цей резервний варіант оголошено застарілим з PHP 7.2.0, при цьому буде згенеровано помилку рівня E_WARNING
. До PHP 7.2.0 натомість видавалася помилка рівня E_NOTICE. Дивіться також розділ керівництва, який пояснює, чому $foo[bar] - це неправильно (якщо bar
не є константою). Це не стосується (повністю) певним константам, які завжди викидатимуть Errorякщо вони не визначені.
Зауваження: Щоб перевірити, чи встановлено константу, використовуйте функцію defined()
Відмінності між константами та змінними:
- Констант не має приставки у вигляді знака долара (
$
); - Константи можуть бути визначені та доступні в будь-якому місці без урахування області видимості;
- Константи не можуть бути перевизначені або видалені після об'яви; і
- Константи можуть мати лише скалярні значення чи масиви.
Приклад #1 Визначення констант
Loading...
Приклад #2 Определение констант с помощью ключевого словаconst
Loading...
Зауваження :
В отличие от определения констант с помощью функцииdefine(), константи, оголошені за допомогою ключового слова
const
повинні бути оголошені у верхній області видимості, тому що вони визначаються при компілюванні скрипта. Це означає, що їх не можна оголошувати всередині функцій, циклів, виразівif
та блоківtry
catch