当前位置:首页 > 叨叨念念 > PHP判断是否是回文数

PHP判断是否是回文数

叨叨念念 / 星之宇 / 2021-11-25 9:58 / 浏览:793 / 评论:0

回文数是指正读与反读都能读通的句子,它是古今中外都有的一种修辞方式和文字游戏,如"我为人人,人人为我"等。

在数学中也有这样一类数字有这样的特征,成为回文数(palindrome number)。设n是一任意自然数,若将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数。例如,若n=1234321,则称n为一回文数;但若n=1234567,则n不是回文数1。


PHP判断是否回文数代码:

function isPalindrome($num) {
    $str = strval($num);    // 将整数转换为字符串
    $len = strlen($str); // 获取字符串长度
    $l = 0; //字符串第一位
    $r = $len - 1;  //字符串最后位
    
    while ($l < $r) {
        if ($str[$l] !== $str[$r]) {
            return false; // 不是回文数
        }
        $l++;
        $r--;
    }
    return true; // 是回文数
}
echo '1234567'. (isPalindrome(1234567)?'':'不').'是回文数。';   //1234567不是回文数。
echo '1234321'. (isPalindrome(1234321)?'':'不').'是回文数。';   //1234321是回文数。
echo '12344321'. (isPalindrome(12344321)?'':'不').'是回文数。'; //12344321是回文数。

这个函数首先将整数转换为字符串,然后使用双指针法从字符串的两端开始比较字符。如果两端的字符不相等,则说明该数字不是回文数。如果比较完所有字符后都没有发现不相等的字符,则说明该数字是回文数。

目前有 0 条评论

    • 昵称
    • 邮箱
    • 网址