>  기사  >  백엔드 개발  >  PHP의 회문

PHP의 회문

WBOY
WBOY원래의
2024-08-29 13:13:29626검색

PHP의 Palindrome을 이해하기 전에 먼저 Palindrome에 대해 공부하겠습니다. Palindrome은 문자열의 원본과 반대가 변경되지 않음을 의미합니다. 이는 숫자의 회문이 문자열을 뒤집어도 원본과 동일하다는 것을 의미합니다. 이는 숫자에도 적용할 수 있습니다.

광고 이 카테고리에서 인기 있는 강좌 PHP 개발자 - 전문 분야 | 8개 코스 시리즈 | 3가지 모의고사

무료 소프트웨어 개발 과정 시작

웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등

예:

입력: 12321
역방향: 12321

입력: 시민
역방향: 시민

문자열이나 숫자가 Palindrome인지 아닌지를 알기 위해 PHP에 내장된 함수를 사용하겠습니다.

팰린드롬 로직

회문을 얻는 논리는 다음과 같습니다.

  1. 입력 숫자 또는 문자열을 가져옵니다.
  2. 내장된 함수를 이용하여 입력된 숫자나 문자열의 역순을 구해 보세요.
  3. 숫자 또는 문자열(입력과 역수 또는 문자열)을 모두 비교합니다.
  4. 입력값과 반대값이 같다면 숫자나 문자열이 회문이라는 뜻입니다.

PHP에서 Palindrome을 확인하는 방법은 무엇입니까?

숫자의 회문을 확인하려면 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의 Palindrome

이 글에서는 회문이 무엇인지, 숫자가 회문인지 아닌지 확인하는 방법, 입력 문자열이 회문인지 여부를 확인하는 방법에 대해 설명합니다. 이 글이 도움이 되었기를 바랍니다.

위 내용은 PHP의 회문의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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