首頁 >後端開發 >php教程 >PHP 中的回文

PHP 中的回文

WBOY
WBOY原創
2024-08-29 13:13:29679瀏覽

在了解PHP中的回文之前我們先研究回文。回文是指字串的原串和反串沒有變化。這意味著即使將字串反轉後,數字的回文也與原始數字相同。這也適用於數字。

廣告 該類別中的熱門課程 PHP 開發人員 - 專業化 | 8 門課程系列 | 3次模擬測驗

開始您的免費軟體開發課程

網頁開發、程式語言、軟體測試及其他

例如:

輸入:12321
背面:12321

輸入:Civic
背面:思域

要知道一個字串或數字是否是回文,我們將使用 PHP 中的內建函數。

回文邏輯

取得回文背後的邏輯如下:

  1. 取得輸入的數字或字串。
  2. 使用內建函數取得輸入數字或字串的反轉。
  3. 比較數字或字串 - 輸入和反向數字或字串。
  4. 如果發現輸入和反轉相等,則表示該數字或字串是回文。

如何在 PHP 中檢查回文?

要檢查數字的回文,我們將使用名為 strrev() 的內建函數

關於 PHP 中的 strrev() 函數: 此函式接受字串和數字作為輸入字串。它對輸入字串執行反轉,但不更改給定的字串。它始終傳回給定字串的反轉形式。

範例#1

在下面的程式中,我們有一個輸入字串 MADAM;在此字串上套用 strrev() 函數。應用函數後,結果會傳回準確的字串 MADAM;然後,檢查一個條件以確定輸入和反轉的字串是否相等。

代碼:

<?php
// example to get the palindrome of a string using built in function
//input string is MADAM
$input = "MADAM";
echo '<br> Input String '. $input;
//reverse of input string - MADAM - using strrev
$reverse = strrev($input);
echo '<br> Ouput String '. $reverse;
//condition to check if the input and the reverse of the string is equal or not
if($input == $reverse) {
echo '<br> '.$input.'  is a palindrome';
}
else {
echo '<br>'.$input.' is not a palindrome';
}
?>

輸出:

PHP 中的回文

範例#2

如上面的程式所示,輸入字串是回文。現在讓我們對數字應用相同的 strrev 函數來檢查輸入數字是否是回文。

代碼

<?php
//example to get the palindrome of a number using built in function
// input string is 1234321
$input = 1234321;
echo '<br>'.'Input string '. $input;
//reverse of input string using strrev
$reverse = strrev($input);
echo '<br>'.'Reverse string '.$reverse;
//condition to check if the input and the reverse of the string is equal or not
if($input == $reverse) {
echo '<br>'.$input.' is a palindrome';
}
else {
echo '<br>'.$input.' is not a palindrome';
}
?>

輸出:

PHP 中的回文

範例#3

在下面的程式中,我們使用了在名為 Palindrome_Function 的不同函數中定義的 strrev() 內建函數。因此,當呼叫此函數來反轉字串時,它會使用 strrev() 函數對輸入字串執行反轉。您可以透過以下方式完成相同的程序。

代碼

<?php
//example to get the palindrome of a number using built in function
function Palindrome_Function($input) {
// applying strrev() function to input string
$reverse = strrev($input);
//condition to check if reverse and input strings are same or not
if($reverse == $input) {
return true;
}
else
{
return false;
}
}
$input = 1995991;
//calling the reverse function
$result = Palindrome_Function($input);
if($result == TRUE) {
echo $input.' is palindrome';
}
else
{
echo $input.' is not palindrome';
}
?>

輸出:

PHP 中的回文

範例#4

在下面的程式中,我們將輸入一個不是回文數的數字並查看結果。

代碼:

<?php
//example to get the palindrome of a number using built in function
function Palindrome_Function($input) {
$reverse = strrev($input);
if($reverse == $input) {
return true;
}
else
{
return false;
}
}
$input = 13241;
$result = Palindrome_Function($input);
if($result == TRUE) {
echo $input.' is palindrome';
}
else
{
echo $input.' is not palindrome';
}
?>

輸出:

PHP 中的回文

範例#5

以下是程序,其中我們有一個包含輸入文字方塊的表單。輸入數字並提交表單後,我們就會得到結果,它告訴我們輸入的數字是否是回文。

代碼

<html>
<head>
<title>Palindrome Program</title>
</head>
<body>
<form method="post" action="program1.php">
<input type="text" name="number" value="" />
<input type="submit" name="submit" value="Submit" />
</form>
<?php
if(isset($_POST['number'])) {
$input = $_POST['number'];
$reverse = strrev($input);
if($reverse == $input) {
echo $input . 'is a palindrome';
}
else{
echo $input. 'is not a palindrome';
}
}
?>
</body>
</html>

輸出:

PHP 中的回文

在下面的程式中,我們透過以下步驟在不使用 strrev() 函數的情況下獲得數字的反轉。

我們將在這裡使用 while 循環:

  1. 取得輸入號碼
  2. 將數字除以 10 得到餘數
  3. 將餘數加入新變數中,再乘以 10
  4. 將數字除以 10。

代碼:

<?php
//example to check if number is palindrome or not without using function only for numbers
//defining the palindrome function
function Palindrome_Function($input) {
$number = $input;
$sum = 0;
//using while loop to get the reverse of the input number
while(floor($number))
{
$remainder = $number % 10;
$sum = $sum * 10 + $remainder;
$number = $number / 10;
}
if($sum == $input) {
return true;
}
else {
return false;
}
}
//passing the input number
$input_number = 1546451;
//calling the Palindrome_Function
$result = Palindrome_Function($input_number);
//check if the input is equal to output of palindrome_function
if($result){
echo "<br>"." $input_number is a Palindrome";   //if equal show $input is palindrome number
} else {
echo "<br>"."$input_number is not a Palindrome";  //if not equal show $input is not a palindrome number
}
?>

輸出:

PHP 中的回文

結論 – PHP 中的回文

本文解釋了什麼是回文,如何判斷一個數字是否為回文,以及如何知道輸入字串是否是回文。我希望這篇文章對您有幫助。

以上是PHP 中的回文的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn