为什么我的PHP函数返回1或不返回true或false?

时间:2019-10-07 09:12:51

标签: php

我用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。我的错误在哪里?

1 个答案:

答案 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';
}

获得更多调试友好的输出