在上一篇文章《如何通过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中文网其他相关文章!