当前位置:首页 > PHP

PHP实现回文数

2026-02-16 04:31:41PHP

PHP实现回文数的方法

回文数是指正读和反读都相同的数字或字符串。以下是几种在PHP中实现回文数检测的方法。

方法1:使用字符串反转

将数字转换为字符串,反转后与原字符串比较是否相同。

function isPalindrome($num) {
    $str = strval($num);
    return $str === strrev($str);
}

// 示例
$number = 121;
if (isPalindrome($number)) {
    echo "$number 是回文数";
} else {
    echo "$number 不是回文数";
}

方法2:不使用字符串反转

通过数学方法逐位比较数字的首尾位。

function isPalindromeMath($num) {
    if ($num < 0) return false;
    $original = $num;
    $reversed = 0;
    while ($num > 0) {
        $reversed = $reversed * 10 + $num % 10;
        $num = (int)($num / 10);
    }
    return $original === $reversed;
}

// 示例
$number = 12321;
if (isPalindromeMath($number)) {
    echo "$number 是回文数";
} else {
    echo "$number 不是回文数";
}

方法3:递归实现

使用递归方式检测回文数。

function isPalindromeRecursive($str) {
    if (strlen($str) <= 1) return true;
    if ($str[0] !== $str[strlen($str) - 1]) return false;
    return isPalindromeRecursive(substr($str, 1, -1));
}

// 示例
$number = "1221";
if (isPalindromeRecursive($number)) {
    echo "$number 是回文数";
} else {
    echo "$number 不是回文数";
}

方法4:优化字符串比较

使用循环逐个字符比较,避免完全反转字符串。

function isPalindromeOptimized($str) {
    $len = strlen($str);
    for ($i = 0; $i < $len / 2; $i++) {
        if ($str[$i] !== $str[$len - $i - 1]) return false;
    }
    return true;
}

// 示例
$number = "123321";
if (isPalindromeOptimized($number)) {
    echo "$number 是回文数";
} else {
    echo "$number 不是回文数";
}

注意事项

  • 字符串方法适用于数字和字符串,数学方法仅适用于数字。
  • 递归方法在处理长字符串时可能导致栈溢出。
  • 数学方法效率较高,适用于大数字处理。

PHP实现回文数

标签: 回文PHP
分享给朋友:

相关文章

PHP接口防重推荐实现

PHP接口防重推荐实现

防重实现方法 使用唯一请求标识符(UUID或业务ID)作为防重依据,客户端每次请求生成唯一标识,服务端校验该标识是否已处理过。适合短时间内的重复请求拦截。 // 客户端生成唯一标识 $reques…

域名转短域名PHP实现

域名转短域名PHP实现

短域名服务的基本原理 短域名服务通过将长URL映射到更短的唯一字符串实现跳转。核心步骤包括生成短码、存储原始URL与短码的对应关系、通过短码重定向到原始URL。 生成短码的常见方法 Base62编…

PHP实现流程

PHP实现流程

PHP实现流程的基本步骤 环境准备 安装PHP运行环境,如XAMPP、WAMP或直接安装PHP和Web服务器(如Apache/Nginx)。确保环境变量配置正确,可通过命令行输入php -v验证安装。…

PHP实现excel

PHP实现excel

PHP 实现 Excel 操作 读取 Excel 文件 使用 PHP 读取 Excel 文件可以通过 PhpSpreadsheet 库实现。安装该库可以通过 Composer: composer r…

mvc实现 PHP

mvc实现 PHP

MVC 模式概述 MVC(Model-View-Controller)是一种设计模式,用于将应用程序的逻辑分离为三个核心组件:模型(Model)处理数据,视图(View)负责展示,控制器(Contro…

PHP实现markdown

PHP实现markdown

实现Markdown解析的基本方法 PHP中有多种方式可以实现Markdown解析功能,包括使用现有库、自定义解析器或结合前端工具。以下是几种常见的方法: 使用Parsedown库 Parsedow…