Этот код:
var_dump(123);
var_dump(0123);
даст вам:
int 123
int 83
Это потому, что 0123
является восьмеричной нотацией (из-за 0
в начале) , тогда как 123
является десятичным.
Для получения дополнительной информации вы можете взглянуть на Integer раздел руководства.
Еще более сложный вопрос - задать 79
и 079
, например:
var_dump(79);
var_dump(079);
получит вас:
int 79
int 7
(9
не является действительной цифрой в восьмеричном ;-))