在上一篇文章《如何通过PHP程序输出全部三位回文数》中,我们带大家了解了判断一个三位回文数的通用方法,并介绍了如何输出100~999以内的回文数,统计回文数个数的方法,感兴趣的朋友可以学习了解一下~
本文继续带大家了解PHP判断回文数的方法,这次不限制范围,任意给出一个数,我们来判断该数是不是回文数!
下面看看我的实现方法:
<?phpheader("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以内的所有回文数:
<?phpheader("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之间的所有回文数
<?phpheader("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,封装成一个功能函数:
<?phpheader("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如何利用函数来反转数字,打印给定范围内的所有回文数的详细内容,更多请关注24课堂在线网其它相关文章!