“phpjs”strpos函数没有返回true

时间:2013-10-16 05:27:51

标签: javascript php

在将php脚本翻译成js时,我使用了phpjs.org中的一些函数。 但是,似乎'strpos'函数在相同条件下不会返回true。

$string = "aaa:bbb";
$colons = strpos($string, ":");
echo $colons;
if ($colons == true)
    {echo "yup";}

回应“3yup”,但是:

var string = "aaa:bbb";
var colons = strpos(string, ":");
console.log(colons);    
if (colons == true)
    {console.log("yup");}

只回应“3”。

这是我的错误,错误或javascript处理方式吗? 在任何情况下,建议采用什么方法来获得truestring结果的{{1}}结果?

谢谢!

3 个答案:

答案 0 :(得分:1)

如果您只想根据strpos获取字符串状态,那么我想您可以执行以下操作:

if (strpos(string, ":") != false) {
    console.log("string exists!");
}

答案 1 :(得分:1)

php和phpjs实现都返回正确的值(3)但==的语义不同。

测试$colons == true的等效JS是:

Boolean(colons) == true

答案 2 :(得分:-3)

JS中的

strpos()不返回true。相反,它返回位置,在你的情况下,它将返回4。