Maison >développement back-end >tutoriel php >Comment vérifier si les nombres et les chaînes sont des palindromes en PHP ? (exemple de code)

Comment vérifier si les nombres et les chaînes sont des palindromes en PHP ? (exemple de code)

青灯夜游
青灯夜游original
2019-04-03 09:04:143603parcourir

Si un nombre ou une chaîne reste le même après avoir inversé respectivement les chiffres ou les lettres, on parle de structure palindrome. Alors comment vérifier si les nombres et les chaînes sont des palindromes ? L'article suivant vous montrera comment vérifier si les nombres et les chaînes sont des structures palindromes en PHP. J'espère qu'il vous sera utile.

Comment vérifier si les nombres et les chaînes sont des palindromes en PHP ? (exemple de code)

1. Vérifiez le nombre de palindromes

Ici, nous utilisons simplement la méthode itérative pour vérifier le numéro palindrome. Chaque nombre est extrait par itérations et transformé en son nombre opposé, et enfin, il est vérifié s'il est identique au nombre d'origine.

Jetons un coup d'œil à la méthode d'implémentation à travers des exemples de code.

<?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."不是回文数";  
} 
  
?>

Sortie :

Comment vérifier si les nombres et les chaînes sont des palindromes en PHP ? (exemple de code)

2. Vérifiez la chaîne palindrome

Méthode 1 : Utilisation de strrev()

La méthode strrev() est utilisée en PHP pour inverser une chaîne. Nous pouvons simplement utiliser cette méthode pour inverser une chaîne et la faire correspondre avec la chaîne avant qu'elle ne soit inversée. Si la correspondance réussit, la chaîne est un palindrome, sinon elle ne l'est pas.

Jetons un coup d'œil à la méthode d'implémentation à travers des exemples de code.

<?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."不是回文字符串";  
} 
  
?>

Sortie :

Comment vérifier si les nombres et les chaînes sont des palindromes en PHP ? (exemple de code)

Méthode 2 : Méthode récursive utilisant substr()

substr() est utilisée pour renvoyer une partie d’une chaîne, appelée sous-chaîne. En utilisant la méthode substr(), vous pouvez vérifier si une chaîne est un palindrome de manière récursive.

Remarque : Dans la méthode substr(), aucune nouvelle chaîne n'est formée et la chaîne d'origine est modifiée à chaque appel récursif.

Principe : Lors de chaque appel récursif, laissez le premier caractère correspondre au dernier caractère de la chaîne, et s'ils correspondent, supprimez ces deux caractères lors du prochain appel. Cela continue jusqu'à ce que la longueur de la chaîne soit réduite à 0 ou 1, la chaîne est alors un palindrome.

Jetons un coup d'œil à la méthode d'implémentation à travers des exemples de code.

<?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); 
  
?>
Sortie :

回文字符串

Exemple de description :

Dans l'exemple ci-dessus, vérifiez si la chaîne "MALAYALAM" est renvoyée Texte , voyons comment ça marche.


Dans la première étape, les deux sont M et la comparaison se termine. Puisqu'ils correspondent, ils sont tous deux ignorés ; la prochaine chaîne à transmettre est "ALAYALA". Encore une fois, les deux A correspondent aux deux extrémités, donc la prochaine chaîne à passer est "LAYAL". Cela continue jusqu'à ce qu'il ne reste plus que « Y ». La chaîne « MALAYALAM » est donc palindrome.

Tutoriels vidéo recommandés : "

Tutoriel PHP"

Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'apprentissage de chacun. Pour un contenu plus passionnant, vous pouvez prêter attention aux colonnes de didacticiels pertinentes du site Web PHP chinois ! ! !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn