2015-10-07 1 views
1

при попытке error_log целое число, которое имеет длину 10 и, начиная с 0, это показывает другое значение в PHP error.logНедопустимый Interger показывает в PHP error_log

хвост -f/вар/Журнал/apache2 /error.log

Я просто хочу понять, почему это происходит

с вне 0 перед целым числом error_log() показывает точное число я передаю в error_log()

экс

error_log (0543219878) => 22737 (с 0 впереди)

error_log (5543219878) => 5543219878 (без нуля)

Может кто-нибудь, пожалуйста, объясните это ,

+5

Номера с ведущим 0 считаются восьмеричными значениями. Таким образом, фактическое значение целого не равно 543219878. Если вам нужно сбрасывать его точно так, как есть, поместите его в кавычки и сделайте его строкой: 'error_log (« 0543219878 »);' –

+0

спасибо Till Helge ... на самом деле Я сбрасывал его как строку, а затем я бросал его как целое, что заставило меня думать, что происходит. – Tharindu

ответ

2

Фактически ваш номер считается восьмеричным номером. Система восьмеричных чисел или короткая окта представляет собой базовую систему счисления 8 и использует цифры от 0 до 7. Октальные цифры могут быть сделаны из двоичных цифр путем группировки последовательных двоичных цифр в группы из трех (начиная с правой) ,

Надеюсь, что это поможет вам понять это.

Счастливое кодирование.

+0

thats имеет смысл .. :-) спасибо за информацию .. :-) – Tharindu