在上一篇文章《如何透過PHP程式輸出全部三位回文數》中,我們帶大家了解了判斷一個三位回文數的通用方法,並介紹瞭如何輸出100~999以內的回文數,統計回文數個數的方法,有興趣的朋友可以學習了解一下~
本文繼續帶大家了解PHP判斷回文數的方法,這次不限制範圍,任意給一個數,我們來判斷該數是不是回文數!
下面看看我的實作方法:
<?php header("Content-type:text/html;charset=utf-8"); function hws($num) { if($num==strrev($num)){ echo $num."是一个回文数<br><br>"; }else{ echo $num."不是一个回文数<br><br>"; } } hws(5); hws(11); hws(12); hws(212); hws(213); hws(1515); hws(15151); ?>
輸出結果為:
在上例中,我們使用了一個PHP內建函數--strrev(),它可以反轉字串;利用這個函數,我們可以將一個數(例213),反轉成字串「321」。
然後使用「==
」運算符,比較數字213和字串「321」是否相等;顯然是不相等的,因此213不是一個回文數。
等式(==)運算子進行的比較是鬆散的,它只比較兩邊變數的值,而不是資料類型;如果兩個值相同則傳回true值,如果兩個值不相同則傳回false值。
推薦閱讀:《PHP中等式(==)和恆等式(===)運算子的簡單比較》
是不是,很簡單,沒有上文那麼多的計算!
下面加大難度,我們來列印給定範圍內的所有回文數,並統計回文數的個數。先試試100以內的所有回文數:
<?php header("Content-type:text/html;charset=utf-8"); $num=0; for($i=0;$i<100;$i++){ if($i==strrev($i)){ echo $i." "; $num++; } } echo "<br><br>100以内的回文数共有".$num."个"; ?>
輸出結果:
#然後是100~1000之間的所有回文數字
<?php header("Content-type:text/html;charset=utf-8"); $num=0; for($i=100;$i<1000;$i++){ if($i==strrev($i)){ echo $i." "; $num++; } } echo "<br><br>100~1000间的回文数共有".$num."个"; ?>
輸出結果:
ok,封裝成功能函數:
<?php header("Content-type:text/html;charset=utf-8"); function hws($a,$b) { $num=0; for($i=$a;$i<$b;$i++){ if($i==strrev($i)){ echo $i." "; $num++; } } echo "<br><br>$a ~ $b 间的回文数共有".$num."个<br><br><br>"; } hws(0,100); hws(100,1000); ?>
輸出結果:
好了就說到這裡了,有其他想知道的,可以點選這個喔。 → →php影片教學
#以上是PHP如何利用函數來反轉數字,列印給定範圍內的所有回文數的詳細內容。更多資訊請關注PHP中文網其他相關文章!