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

การเปรียบเทียบตัวเลขใน PHP 8

เมื่อเราเปรียบเทียบตัวเลขใน PHP 8 จะใช้การเปรียบเทียบตัวเลข มิฉะนั้นจะแปลงตัวเลขเป็นสตริงและใช้การเปรียบเทียบสตริง

สตริงสามารถจัดประเภทได้ 3 แบบ -

  • สตริงที่มีเฉพาะตัวเลข ตัวอย่าง - 1234 หรือ 1.24e1

  • Leading-numeric string - สตริงนำหน้าเริ่มต้นด้วยสตริงตัวเลข แต่ควรตามด้วยตัวอักษรที่ไม่ใช่ตัวเลขรวมถึง whitespace ตัวอย่าง - 12xyz หรือ "123"

  • Non-numeric string - สตริงที่ไม่สามารถเป็นตัวเลขได้และไม่ใช่ leading-numeric string

ตัวอย่าง - PHP 7
0=='foo' // PHP 7 จะคืนค่า true
ตัวอย่าง - PHP 8
0 =='foo' // PHP 8 จะคืนค่า false

ตัวอย่าง - โปรแกรม PHP 8 ใช้การเปรียบเทียบสตริงกับตัวเลขที่ปลอดภัยกว่า (Saner string to number comparisons)

<?php 
$x=[ 
    "1" => "first Integer", 
    "0123" =>"The integer index with leading 0", 
    "12str" =>"using leading numeric string", 
    " 1" => "using leading whitespace", 
    "2.2" => "using floating number", 
]; 
print_r($x); 
?>

ผลลัพธ์

Array ( 
    [1] => first Integer 
    [0123] => The integer index with leading 0 
    [12str] => using leading numeric string 
    [ 1] => using leading whitespace 
    [2.2] => using floating number 
)