Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Можете ли вы присвоить значения константам со знаком равенства после использования, определенного в php?

Автор вопроса: CodeCrackОтветов: 2

Я знаю, чтобы определить константу, вы делаете что-то вроде этого

define("CONSTANT", "Hello world.");

если я захочу изменить значение константы, мне придется снова определить()? Почему я не мог просто сделать CONSTANT = "whatever"; после того, как он уже был определен в первый раз?

  • КОНСТАНТ falinsky 19.01.2012

phpconstants

Ответы

Ответ 1 · рейтинг 9 · Andreas Stokholm

Весь смысл константы в том, что она постоянно и всегда одна и та же. Вы не можете изменить константу после того, как вы ее определили.

Даже использование define("CONSTANT", "Hello world."); вернет ошибку.

Я просто сделал это очень быстро, чтобы показать вам, что вы получите:

Notice: Constant CONSTANT already defined in /Users/stokholm/test.php on line 3

Call Stack:
    0.0003     629992   1. {main}() /Users/stokholm/test.php:0
    0.0171     630232   2. define() /Users/stokholm/test.php:3

Ответ 2 · рейтинг 1 · Tim Cooper

Константы, как следует из названия, не могут быть изменены после определения. Вместо этого используйте переменные.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы