ホームページ > バックエンド開発 > PHPチュートリアル > PHPで数値と文字列が回文であるかどうかを確認するにはどうすればよいですか? (コード例)

PHPで数値と文字列が回文であるかどうかを確認するにはどうすればよいですか? (コード例)

青灯夜游
リリース: 2023-04-05 18:56:01
オリジナル
3605 人が閲覧しました

数字または文字をそれぞれ反転しても数字または文字列が同じままである場合、それは回文構造と呼ばれます。では、数値と文字列が回文であるかどうかを確認するにはどうすればよいでしょうか?以下の記事では、PHP で数値や文字列が回文構造かどうかを確認する方法を紹介しますので、ご参考になれば幸いです。

PHPで数値と文字列が回文であるかどうかを確認するにはどうすればよいですか? (コード例)

1. 回文の数を確認する

ここでは単純に反復法を使用して、回文の数を確認します。回文の数。各数値が反復的に抽出され、反対の数値が形成され、最後に元の数値と同じかどうかがチェックされます。

コード例を通して実装方法を見てみましょう。

<?php 
header("content-type:text/html;charset=utf-8");
function Palindrome($number){   
    $temp = $number;   
    $new = 0;   
    while (floor($temp)) {   
        $d = $temp % 10;   
        $new = $new * 10 + $d;   
        $temp = $temp/10;   
    }   
    if ($new == $number){   
        return 1;   
    } 
    else{ 
        return 0; 
    } 
}   
  
$original = 1441;  
if (Palindrome($original)){   
    echo $original."是回文数";   
}  
else {   
echo $original."不是回文数";  
} 
  
?>
ログイン後にコピー

出力:

PHPで数値と文字列が回文であるかどうかを確認するにはどうすればよいですか? (コード例)

2. 回文文字列

# # を確認します。 #方法 1: strrev() を使用する # strrev() メソッドは、文字列を反転するために PHP で使用されます。このメソッドを使用すると、単純に文字列を反転し、反転する前の文字列と照合することができます。一致が成功した場合、文字列は回文になりますが、そうでない場合は回文ではありません。

コード例を通して実装方法を見てみましょう。

<?php 
header("content-type:text/html;charset=utf-8");
function Palindrome($string){   
    if (strrev($string) == $string){   
        return 1;   
    } 
    else{ 
        return 0; 
    } 
}   
  
$original = "hgbgbgh"; 
if (Palindrome($original)){   
    echo $original."是回文字符串";   
}  
else {   
echo $original."不是回文字符串";  
} 
  
?>
ログイン後にコピー

出力:


PHPで数値と文字列が回文であるかどうかを確認するにはどうすればよいですか? (コード例)

方法 2: substr()

substr を使用した再帰的メソッド() メソッドは、部分文字列と呼ばれる文字列の一部を返すために使用されます。 substr() メソッドを使用すると、文字列が回文であるかどうかを再帰的にチェックできます。

注: substr() メソッドでは、新しい文字列は形成されず、再帰呼び出しごとに元の文字列が変更されます。

原則:

各再帰呼び出し中に、最初の文字が文字列の最後の文字と一致するようにし、一致する場合は、次の呼び出しでこれら 2 つの文字を破棄します。これは、文字列の長さが 0 または 1 に減るまで続き、文字列は回文になります。 コード例を通して実装方法を見てみましょう。

<?php 
header("content-type:text/html;charset=utf-8");
function Palindrome($string){
	//结束递归 
    if ((strlen($string) == 1) || (strlen($string) == 0)){ 
        echo "回文字符串"; 
    } 
  
    else{ 
          
        // 第一个字符与最后一个字符比较
        if (substr($string,0,1) == substr($string,(strlen($string) - 1),1)){ 
              
            // 选中的字母将被丢弃并传递给下一个字符串
            return Palindrome(substr($string,1,strlen($string) -2)); 
        } 
        else{  
            echo "不是回文字符串"; } 
    } 
} 
  
$string = "MALAYALAM"; 
Palindrome($string); 
  
?>
ログイン後にコピー

出力:

回文字符串
ログイン後にコピー

例の説明:

上記の例では、文字列「MALAYALAM」が回文であるかどうかを確認するには、次のようにします。それがどのように機能するかを見てください。


最初のステップでは、両方とも M であり、比較は終了します。一致するため、両方とも破棄され、次に渡される文字列は「ALAYALA」です。ここでも、2 つの A が両端で一致するため、次に渡される文字列は「LAYAL」になります。これは「Y」だけが残るまで続きます。したがって、文字列「MALAYALAM」は回文です。

おすすめのビデオチュートリアル: 「

PHP チュートリアル

以上がこの記事の全内容です。皆様の学習のお役に立てれば幸いです。さらにエキサイティングなコンテンツについては、PHP 中国語 Web サイトの関連チュートリアルのコラムに注目してください。 ! !

以上がPHPで数値と文字列が回文であるかどうかを確認するにはどうすればよいですか? (コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート