PHP 8 中的数字比较
当我们在 PHP 8 中比较一个数字时,它将使用数字比较。否则它会将数字转换为字符串并使用字符串比较。
字符串可以分为三种方式 -
仅包含数字的字符串。例如 - 1234 或 1.24e1。
前导数字字符串 - 前导字符串以数字字符串开头,但应紧跟非数字字符,包括空白。示例 - 12xyz 或“123”
非数字字符串 - 既不能是数字也不是前导数字字符串的字符串。
Example − PHP 7
0=='foo' // PHP 7 will return true.
Example − PHP 8
0 =='foo' // PHP 8 will return false.
示例 - 使用更理智的字符串到数字比较的 PHP 8 程序。
<?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 )
广告