Php计划找到回文?

时间:2015-11-26 06:37:44

标签: php

找到回文的三个步骤?

  1. 在给定值上使用strrev

  2. 然后使用str_split

  3. 进行拆分
  4. 然后使用foreachconcate分割值。

  5. 实施例

    $a = "madam";
    
    $b =  strrev($a);
    
        $string_reverse = str_split($b);
    
        $palin = '';
    
        foreach($string_reverse as $value){
    
            $palin.= $value; 
        }
    
        print $palin;
    
        if($a == $palin){
    
            print "<br>Palindrome";
    
        } else {
    
            print "<br>Not Palindrome"; 
    
        }
    

    输出

      

    女士
      回文

12 个答案:

答案 0 :(得分:6)

试试这个:

<?php
function check_plaindrome($string) {
    //remove all spaces
    $string = str_replace(' ', '', $string);

    //remove special characters
    $string = preg_replace('/[^A-Za-z0-9\-]/', '', $string);

    //change case to lower
    $string = strtolower($string);

    //reverse the string
    $reverse = strrev($string);

    if ($string == $reverse) {
        echo "<p>It is Palindrome</p>";
    } 
    else {
        echo "</p>Not Palindrome</p>";
    }
}

$string = "A man, a plan, a canal, Panama";
check_plaindrome($string);


########Output#######
<p>It is Palindrome</p>

答案 1 :(得分:2)

我们可以这样写一个简单的方法,不要让它变得复杂:

$a = "1681";

$b =  strrev($a);

print $b;

if($a == $b){

    print "<br>Plaindrome";

} else {

    print "<br>Not Plaindrome"; 

}

答案 2 :(得分:1)

如果没有PHP函数,检查字符串是否为回文。

<?php 

    $str = 'level';
    $strLen = strlen($str)-1;
    $revStr = '';
    for($i=$strLen; $i>=0; $i--){
        $revStr.=$str[$i];
    }
    if($revStr == $str)
        echo 'Palindrome';
    else
        echo "Not Palindrome";

?>

答案 3 :(得分:1)

你可以尝试这个,它会反转字符串或值......

function fn_palindrome($palindrome) {
    $reversed = ''; 
    $original = $palindrome;
    $string = array(); $j = 0;
    $converted = (string) $palindrome;
    $palindrome = str_split($converted);
    $i = count($palindrome) - 1;
    while($i >= 0) {
        $string[$j] = $palindrome[$i];
        $j++; $i--;
    }
    $reversed = implode('', $string);
    if($reversed == $original) {
        return TRUE;
    } else {
        return FALSE;
    }
}

答案 4 :(得分:0)

#toggle-nav{
    display: none;
}
@media screen and (max-width: 990px) {
    #toggle-nav{
        display: block;
    }
}

答案 5 :(得分:0)

    function checkpala(string $input){

    for( $i=0; $i < strlen($input); $i++){   //for each char in the string
        if (substr($input,$i,1) != substr($input, strlen($input)-($i+1),1)){  //get the first char and the last char and compare them.  Then get the 2nd and the 2nd from the end and compare them.  repeate

            //if at any point there is no match, stop checking, return false
            //echo "$input is not a palindrome";
            return false;
         }
    }
    //if the loop completes and every character checked out, return true.
    //echo "$input is a palindrome";
    return true;
 }    

答案 6 :(得分:0)

function checkPalindrome($string) {
    return $string == strrev($string);
}

答案 7 :(得分:0)

您可以尝试以下代码:

function checkPalindrome($string){
   $string = strtolower($string);
   $reverse = strrev($string);
       if($string == $reverse){
          return true;
       } else {
          return false;
       }
}

答案 8 :(得分:0)

尝试一下。

<?php
  $strng = 'SMS';
  $rvsstr = '';
  $i = 0;
  while (!empty($strng[$i])) {
    $rvsstr = $strng[$i].$rvsstr;
    $i++;
  }
  // echo $rvsstr;

  if ($strng === $rvsstr) {
    echo "Number is Palindrome";
  } else {
    echo "Number is not palindrome";
  }
?>

答案 9 :(得分:0)

可以这么简单吗?

function isPalindrome(string $word) : bool
{
  $word = strtolower($word);
  if(strrev($word) === $word){
    return true;
  } else {
    return false;
  }
}   

echo isPalindrome('Deleveled');

答案 10 :(得分:0)

这里的人们已经正确了,反正您可以尝试一下。

function checkPalindrome($string) {
  $string = strtolower($string);
  return $string == strrev($string);
}

答案 11 :(得分:-1)

要测试的虚拟字符串

$t = strrev($s);

反转字符串顺序

$length = mb_strlen($s);

获取字符串的长度

$new = '';

在使用for循环遍历时用于串行字符串的变量

for ($i = 0; $i < $length; $i++) {
    $new = $s[$i].$new;    
}

循环遍历字符串

if ($s == $new){
    echo "Yes palindrome";
} else {
    echo "No palindrome";
}

使用for循环检查遍历的字符串等于使用PHP函数

反转的字符串
plot.data.frame

如果输出为是,那么它是回文,否则它不是回文串。

***我已经更新了答案。