我已经把这个回文函数放在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
或什么都不返回,而是由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指出的那样:建议从不写作,更喜欢。前者使它看起来像一个函数调用,而它却是一个运算符,而不是一个函数。