Почему я не могу определить STATUS как константу?

Когда я определяю STATUS, он по умолчанию равен 0. Тем не менее все остальные константы работают.

define('LOCATION',07);
define('STATUS',08);
echo 'x'.STATUS."x\n";exit;
define('TERM_DATE',09);

$ php synchronize.php
x0x

2

Решение

Ваш код работает отлично! Но где ваша проблема, вы определили ее как восьмеричное значение и 08 является недопустимым восьмеричным значением, поэтому все после него удаляется и 0 остается.

Вы можете прочитать больше об этом здесь: http://php.net/manual/en/language.types.integer.php

И цитата оттуда:

Предупреждение:
Если недопустимая цифра указана в восьмеричном целом числе (т.е. 8 или 9) остальная часть номера игнорируется.

Таким образом, вы можете определить его как строку, например,

define('STATUS', "08");
//^  ^ See the quotes

Или определите его как действительное восьмеричное число. (То же самое для: define('TERM_DATE',09);)

8

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector