当前位置: 首页 > 知识库问答 >
问题:

为什么我的PHP函数返回1或零,而不是true或false?[重复]

耿学义
2023-03-14

我已经把这个回文函数放在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,否则不返回任何内容。

echo isPalindrome("A nut for a jar of fish"); // returns no output (in https://www.tehplayground.com)

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

共有1个答案

芮琛
2023-03-14

您的函数不返回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';
}

获得更多调试友好的输出

 类似资料:
  • 问题内容: 如果某些列返回FALSE,如何显示不同的值, 例如, COLUMN“ BASIC”返回FALSE,但我需要为用户显示YES或NO。情况为FALSE,请返回NO。 问题答案: 如果是varchar或bit,则处理NULL 或者如果只是一点点 编辑:

  • 为什么以下输出为True? 这将始终输出,即使条件似乎表明并非如此。如果我删除括号,那么它可以工作,但我不明白为什么。

  • 无论如何,这个公式是否可以修改为返回,例如:找到单词“哇”,并将该单词返回到单元格中,而不是true/false? 谢谢。

  • 问题内容: 据我所知,使用或实例化对象分别返回或的新实例。具有 新标识 的新实例对象。 在我实际测试它之前,这对我来说是很清楚的,我注意到它实际上返回了而不是预期的: 如预期的那样,分别使用和创建对象时,也会表现出这种行为: 我可以在状态文档中找到唯一相关的信息: […]例如,return和return 。 如果未提供任何参数,则构造函数将创建一个新的空元组。 可以说,这不足以回答我的问题。 那么

  • 问题内容: 我有一个发出AJAX调用的功能(通过jQuery)。在本节中,我有一个函数说: 但是,如果我这样称呼它: 第一个永远不会被调用。 如果将an 放入函数中,则为true,但在该函数返回之前不会为true 。 可以将回调函数传递给我的方法吗?喜欢: 问题答案: 是一个 回调 函数。它将由Ajax对象调用-异步!-操作完成时。您无法捕捉回调的结果,只有Ajax对象可以做到这一点。 您的函数-

  • 问题内容: 如果我这样做: 那又回来了。仅仅是因为在列表中。 但是,如果我这样做: 那又回来了。而等于: 为什么? 问题答案: 运算符优先级 2.x,3.x。的优先级低于的优先级。因此,它等效于: 这就是你想要的: 正如@Ben指出的那样:建议从不写作,更喜欢。前者使它看起来像一个函数调用,而它却是一个运算符,而不是一个函数。