คำตอบคือ ไม่ใช่ เพราะ 0123 หมายถึง 123 ฐาน 8 (เลขฐานแปด) และเทียบเท่าในฐานสิบคือ 83
การนำหน้าตัวเลขด้วย 0 บ่งบอกว่าเป็นเลขฐานแปด (octal) คล้ายกับ 0x บ่งบอก hex (ฐาน 16)
พิจารณาโค้ดด้านล่าง:
ตัวอย่าง
var_dump(123); var_dump(0123);
ผลลัพธ์
จะได้ผลลัพธ์ดังนี้:
int 123 int 83
เนื่องจาก 0123 เป็น octal notation (สังเกต 0 นำหน้า) ในขณะที่ 123 เป็น decimal
พิจารณาโค้ดด้านล่าง:
ตัวอย่าง
var_dump(79); var_dump(079);
ผลลัพธ์
จะได้ผลลัพธ์ดังนี้:
int 79 int 7