PHP 程序:使用函数检查数字是否为回文


2022 年 4 月 22 日, Learn eTutorial
2311

什么是回文数?

回文数是指其反转与原始数字完全相同的数字。例如,如果我们输入 5665,并且检查该数字的反转,它仍然是 5665 本身,这样的数字就称为回文数。

What is a palindrome

如何使用 PHP 检查数字是否为回文?

在这个程序中,我们使用用户自定义函数来查找数字的反转,并将其与输入的数字进行比较,以检查输入的数字是否为回文。首先,我们需要接受用户的输入,并将输入的数字存储到一个变量中,然后我们需要调用创建的函数来检查数字的反转,并将变量数字的值作为函数的参数传递。然后,我们需要通过首先找到数字的 模数(%) 并将其赋值给变量 rem,然后将变量 rev 乘以 10,并加上变量 rem 中的当前值,并将其赋值给变量 rev,之后将数字除以 10 以避免数字的最后一位,并将数字赋值给变量 num,使用 while 循环迭代这些操作,直到变量的每个数字都被反转。迭代完成后,我们需要将变量 rev 的值作为函数 findReverse() 的结果返回。之后,我们需要将结果与输入的数字进行比较,如果两者相同,则输入的数字是回文数,否则它不是回文数。

算法

步骤 1: 接受用户输入的要检查的数字,并将其赋值给变量 number

步骤 2: 将用户自定义函数 findReverse() 的返回值(以变量 number 作为参数)赋值给变量 checkNum

步骤 3: 使用 if 语句检查变量 number 的值是否等于变量 checkNum 的值,如果条件为真,则打印变量 number 的值是回文数,否则打印变量 number 的值不是回文数

 

算法用户自定义函数:findReverse(n)

步骤 1: 将从函数传递的参数赋值给变量 num

步骤 2: 将值 0 赋值给变量 rev,用于存储数字的反转

步骤 3: 执行以下子步骤,直到条件 'num > 1'

        (i) 将 'num % 10' 的计算结果赋值给变量 rem,用于存储余数

        (ii) 将 'rev * 10 + rem' 的计算结果赋值给变量 rev,用于存储数字的反转

        (iii) 将 'num / 10' 的计算结果赋值给变量 num,用于存储去除最后一位数字后的数字

步骤 4: 完成上述步骤后,我们需要返回变量 rev 的值

PHP 源代码

                                          <?php
function findReverse($n)
{
    $num = $n;
    $rev = 0;
    while ($num > 1) {
        $rem = $num % 10;
        $rev = $rev * 10 + $rem;
        $num = $num / 10;
    }
    return $rev;
}
$number = readline("Enter the number: ");
$checkNum = findReverse($number);
if ($number == $checkNum) {
    echo "$number is a Palindrome number";
} else {
    echo "$number is not a Palindrome number";
}
?>
                                      

输出

Enter the number: 494
494 is a Palindrome number