在将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处理方式吗?
在任何情况下,建议采用什么方法来获得true
中string
结果的{{1}}结果?
谢谢!
答案 0 :(得分:1)
如果您只想根据strpos
获取字符串状态,那么我想您可以执行以下操作:
if (strpos(string, ":") != false) {
console.log("string exists!");
}
答案 1 :(得分:1)
php和phpjs实现都返回正确的值(3)但==
的语义不同。
测试$colons == true
的等效JS是:
Boolean(colons) == true
答案 2 :(得分:-3)
strpos()不返回true。相反,它返回位置,在你的情况下,它将返回4。