Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

ใน PHP 123==0123 หรือไม่


คำตอบคือ ไม่ใช่ เพราะ 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