找到回文的三个步骤?
在给定值上使用strrev
然后使用str_split
。
然后使用foreach
和concate
分割值。
实施例
$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";
}
输出
女士
回文
答案 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
如果输出为是,那么它是回文,否则它不是回文串。
***我已经更新了答案。