PHP如何利用函数来反转数字,打印给定范围内的所有回文数

在上一篇文章《如何通过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);
?>

输出结果为:

1.png

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

输出结果:

2.png

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

输出结果:

3.png

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);
?>

输出结果:

4.png

好了就说到这里了,有其他想知道的,可以点击这个哦。→ →php视频教程

以上就是PHP如何利用函数来反转数字,打印给定范围内的所有回文数的详细内容,更多请关注php中文网其它相关文章!

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/146768.html

(0)
上一篇 2021年9月8日
下一篇 2021年9月8日

相关推荐

发表回复

登录后才能评论