PHP7飛船來了

餘二五發表於2017-11-15

    鬧眼子?這裡說的飛船不是真的飛船,是被成為飛船符號(<=>)。


    在PHP7,一個新的功能,飛船操作符已經被引入。它是用於比較兩個表示式。當第一個表示式比第二個表示式分別小於,等於或大於它返回-1,0或1。 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?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這個新特性,可以完美跳出坑。


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$a = 42735.04;
$b = 17806.2;
 
 
$c $a / 36;
$c round($c, 2);
 
$d $c * 15;
 
 
echo `$b value is: ` $b "
"
;
echo `$d value is: ` $d "
"
;
 
echo "<br/>";
 
if ((round($b,2) <=> round($d,2)) === 0) {
    echo "ok
"
;
else {
    echo "sorry
"
;
}


    <=>    起飛吧

本文轉自 hgditren 51CTO部落格,原文連結:http://blog.51cto.com/phpme/1956225,如需轉載請自行聯絡原作者


相關文章