闹眼子?这里说的飞船不是真的飞船,是被成为飞船符号(<=>)。
在PHP7,一个新的功能,飞船操作符已经被引入。它是用于比较两个表达式。当第一个表达式比第二个表达式分别小于,等于或大于它返回-1,0或1。
<?php //整型比较 print( 1 <=> 1);print("<br/>"); print( 1 <=> 2);print("<br/>"); print( 2 <=> 1);print("<br/>"); print("<br/>"); //浮点性比较 print( 1.5 <=> 1.5);print("<br/>"); print( 1.5 <=> 2.5);print("<br/>"); print( 2.5 <=> 1.5);print("<br/>"); print("<br/>"); //字符串比较 print( "a" <=> "a");print("<br/>"); print( "a" <=> "b");print("<br/>"); print( "b" <=> "a");print("<br/>"); ?>
在之前的博文中提交php浮点性比较的坑,最后使用了bccmp()函数强制转换字符串来解决。
>>详情见:php7采坑记:浮点型数据比较
那么今天,利用php7这个新特性,可以完美跳出坑。
$a = 42735.04; $b = 17806.2; $c = $a / 36; $c = round($c, 2); $d = $c * 15; echo ‘$b value is: ‘ . $b . "\n"; echo ‘$d value is: ‘ . $d . "\n"; echo "<br/>"; if ((round($b,2) <=> round($d,2)) === 0) { echo "ok\n"; } else { echo "sorry\n"; }
<=> 起飞吧
本文出自 “我的PHP之路” 博客,请务必保留此出处http://phpme.blog.51cto.com/663593/1956225
原文地址:http://phpme.blog.51cto.com/663593/1956225