Странный вывод, когда число начинается с 0

1. сценарий:

$num = "00445790"; echo $num; 

возвращает:

 00445790 

2. скрипт

 $num = 00445790; echo $num; 

возвращает:

 2351 

Может кто-нибудь объяснить, почему я получаю 2351 по второму сценарию?

Integers , начинающиеся с нуля, считаются восьмеричными. Поскольку восьмеричные целые числа используют только числа от 0 до 8, все из 9 на игнорируются.

Таким образом, 00445790 становится 004457 который равно 2351 в десятичной системе.