En este artículo, aprenderemos cómo verificar si un número y una string son palíndromos o no en PHP. Se dice que un número o string es un palíndromo si permanece igual incluso después de invertir los dígitos o las letras respectivamente.
Ejemplos de número palíndromo:
Input : 1441 Output : Palindrome Explanation: Reversing 1441 will also get 1441 Input : 12521 Output : Palindrome Explanation remains same
Verifique el número de Palindrome
Aquí simplemente hemos usado la forma iterativa para verificar el número de palíndromo. Cada dígito se extrae en una iteración y se forma el número inverso y, finalmente, se comprueba si es el mismo que el número original.
PHP
<?php // PHP code to check for Palindrome number in PHP // Function to check for Palindrome 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; } } // Driver Code $original = 1441; if (Palindrome($original)){ echo "Palindrome"; } else { echo "Not a Palindrome"; } ?>
Producción:
Palindrome
Verifique la string Palindrome
Ejemplos de Palindrome String:
Input : "MALAYALAM" Output : Palindrome Explanation: Reversing "MALAYALAM" will also get "MALAYALAM" Input : "14441" Output : Palindrome Explanation remains same
Método 1: Usar strrev()
La función strrev() se usa en PHP para invertir una string. Simplemente podemos usar este método para invertir la string y hacerla coincidir con el valor anterior. Si es una coincidencia, entonces la string es palíndromo, de lo contrario no lo es.
Ejemplo:
PHP
<?php // PHP code to check for Palindrome string in PHP // Using strrev() function Palindrome($string){ if (strrev($string) == $string){ return 1; } else{ return 0; } } // Driver Code $original = "DAD"; if(Palindrome($original)){ echo "Palindrome"; } else { echo "Not a Palindrome"; } ?>
Producción:
Palindrome
Método 2: forma recursiva usando substr()
El método substr() se usa para devolver una parte de una string, denominada substring. Usando este método, hay una forma recursiva de verificar Palindrome o no. En este método no se forma ninguna string nueva y la string original se modifica en cada llamada recursiva.
Ejemplo:
PHP
<?php // PHP code to check for Palindrome string in PHP // Recursive way using substr() function Palindrome($string){ // Base condition to end the recursive process if ((strlen($string) == 1) || (strlen($string) == 0)){ echo "Palindrome"; } else{ // First character is compared with the last one if (substr($string,0,1) == substr($string,(strlen($string) - 1),1)){ // Checked letters are discarded and passed for next call return Palindrome(substr($string,1,strlen($string) -2)); } else{ echo " Not a Palindrome"; } } } $string = "MALAYALAM"; Palindrome($string); ?>
Producción:
Palindrome
Funcionamiento:
el primer carácter se compara con el último carácter de la string durante cada llamada recursiva y, si coincide, ambos caracteres se descartan durante la siguiente llamada. Esto continúa hasta que la longitud de la string se reduce a 0 o 1. En el siguiente ejemplo donde se toma la palabra «MALAYALAM», veamos el funcionamiento.
En el primer paso se comparan ambas M’s en ambas, al final. Dado que coincide, ambos se descartan y la siguiente string que se pasa es «ALAYALA». Nuevamente, tanto la A coincidió en ambos extremos, por lo que la siguiente string que se pasará es «LAYAL». Esto continúa hasta que solo queda «Y».
Publicación traducida automáticamente
Artículo escrito por Chinmoy Lenka y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA