>  기사  >  백엔드 개발  >  PHP에서 숫자와 문자열이 회문인지 확인하는 방법은 무엇입니까? (코드 예)

PHP에서 숫자와 문자열이 회문인지 확인하는 방법은 무엇입니까? (코드 예)

青灯夜游
青灯夜游원래의
2019-04-03 09:04:143502검색

숫자나 문자를 각각 뒤집어도 숫자나 문자열이 동일하게 유지되는 경우 이를 회문 구조라고 합니다. 그렇다면 숫자와 문자열이 회문인지 확인하는 방법은 무엇입니까? 다음 기사는 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() 메서드에서는 새 문자열이 형성되지 않으며 각 재귀 호출에서 원래 문자열이 수정됩니다.

원칙: 각 재귀 호출 중에 첫 번째 문자가 문자열의 마지막 문자와 일치하도록 하고 일치하는 경우 다음 호출에서 이 두 문자를 삭제합니다. 이것은 문자열의 길이가 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"입니다. 다시 말하지만, 두 개의 A는 양쪽 끝에서 일치하므로 전달될 다음 문자열은 "LAYAL"입니다. 이는 "Y"만 남을 때까지 계속됩니다. 따라서 문자열 "MALAYALAM"은 회문입니다.

추천 관련 동영상 튜토리얼: "PHP Tutorial"

위 내용은 이 글의 전체 내용이며, 모든 분들의 학습에 도움이 되기를 바랍니다. 더 흥미로운 내용을 보려면 PHP 중국어 웹사이트의 관련 튜토리얼 열을 주의 깊게 살펴보세요! ! !

위 내용은 PHP에서 숫자와 문자열이 회문인지 확인하는 방법은 무엇입니까? (코드 예)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.