【问题标题】:Why does my PHP function return 1 or nothing instead of true or false? [duplicate]为什么我的 PHP 函数返回 1 或什么都没有,而不是 true 或 false? [复制]
【发布时间】:2020-02-04 13:44:54
【问题描述】:

我已经在 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)

我希望它返回真或假。我的错在哪里?

【问题讨论】:

    标签: php


    【解决方案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';
    }
    

    获得更多调试友好的输出

    【讨论】:

    • 这是一种过度设计的形式,我希望它能像我预期的那样工作(它在 JavaScript 中工作)。感谢您的回答。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-21
    • 2014-07-03
    • 1970-01-01
    • 2019-01-09
    • 1970-01-01
    • 2021-11-10
    相关资源
    最近更新 更多