首頁  >  文章  >  後端開發  >  PHP如何利用函數來反轉數字,列印給定範圍內的所有回文數

PHP如何利用函數來反轉數字,列印給定範圍內的所有回文數

青灯夜游
青灯夜游原創
2021-08-12 16:57:393435瀏覽

在上一篇文章《如何透過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如何利用函數來反轉數字,列印給定範圍內的所有回文數

在上例中,我們使用了一個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."个";
?>

輸出結果:

PHP如何利用函數來反轉數字,列印給定範圍內的所有回文數

#然後是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."个";
?>

輸出結果:

PHP如何利用函數來反轉數字,列印給定範圍內的所有回文數

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如何利用函數來反轉數字,列印給定範圍內的所有回文數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn