我用PHP组合了这个回文功能
<?php
// example code
function isPalindrome($str){
// eliminate special chars
$str = preg_replace('/[^a-z0-9]+/i', '', $str);
// all to lowercase
$str = strtolower($str);
// reverse string
$strArr = str_split($str);
$strArr = array_reverse($strArr);
$reversed_str = join('',$strArr);
//Test
//echo $str . ' | ' . $reversed_str;
// compare
return $str === $reversed_str;
}
echo isPalindrome("A nut for a jar of tuna"); // returns 1
问题:如果提供的字符串是回文,则该函数返回1,否则返回 nothing 。
echo isPalindrome("A nut for a jar of fish"); // returns no output (in https://www.tehplayground.com)
我希望它返回true或false。我的错误在哪里?
答案 0 :(得分:1)
您的函数不会返回1
或什么也不返回,而是echo
决定以这种方式呈现结果。
尝试
var_dump(isPalindrome("A nut for a jar of tuna"));
if (isPalindrome("A nut for a jar of tuna") === true) {
echo 'true';
} else {
echo 'false';
}
获得更多调试友好的输出