Синтаксис

Константу можна визначити за допомогою ключового слова 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

Дивіться також