闹眼子?这里说的飞船不是真的飞船,是被成为飞船符号(<=>)。
在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