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

ใน php คือ 123==0123?


คำตอบคือไม่ เนื่องจาก 0123 หมายถึง 123 ที่มีฐาน 8 (เลขฐานแปด) และเลขฐานสิบเท่ากันคือ 83

นำหน้าตัวเลขด้วย 0 แสดงว่าเป็นเลขฐานแปด (ฐาน 8) ซึ่งคล้ายกับข้อเท็จจริงที่ว่า 0x หมายถึงตัวเลขฐานสิบหก (ฐาน 16)

พิจารณาบรรทัดโค้ดด้านล่าง -

ตัวอย่าง

var_dump(123);
var_dump(0123);

ผลลัพธ์

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

int 123
int 83

นี่เป็นเพราะความจริงที่ว่า 0123 เป็นสัญกรณ์ฐานแปด (สังเกต 0 ที่จุดเริ่มต้น) ในขณะที่ 123 เป็นเลขฐานสิบ

ตอนนี้ให้พิจารณารหัสด้านล่าง -

ตัวอย่าง

var_dump(79);
var_dump(079);

ผลลัพธ์

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

int 79
int 7