为什么PHP没有简单的包含字符串函数?

我很好奇为什么PHP中的“包含”论坛如此复杂?为什么PHP没有简单的包含字符串函数?

我在学习一种叫做Lasso的不太常用的语言。 PHP和Lasso非常相似。

一件事套索有这非常好的是包含字符串函数>>

if($myVar >> 'x') // this is a contains statement 

是否有更简单的方法比:

if(strpos($a, 'are') !== false) 

这似乎像一个双重否定。为什么不==真?这可能是我遇到的最令人困惑的事情。我希望有人能够点亮一些光芒!

编辑:我认为我的问题的答案是没有其他包含的快捷方式代码。感谢大家的帮助。

回答:

应当指出的是,strpos会做包含一个__toString()方法的对象字符串转换

如本

//Enter your code here, enjoy! 

class foo{

public function __toString(){

return 'hello world';

}

}

$Foo = new foo;

echo strpos($Foo, "world");

。OUPUTS

6 

诚然这是一个非常不可能的情况在这种情况下,但我认为这值得一提。

在本sandbox

回答:

由于文档说:

这个函数可以返回布尔值FALSE,但也可能返回的结果为FALSE的非布尔值。

返回将针存在相对于干草堆字符串的开头(独立的偏移)的位置。还要注意的是字符串位置从0开始,而不是1

你不能这样做,因为== true可以strpos返回0如果发生第0指数在字符串(即字符串的开始),这将由于0是false-y值,因此检查== true失败。

TL; DR:strpos不是“包含”功能,这是一个“什么是字符串的位置”功能,可以使用作为一个“包含”功能的结果。

以上是 为什么PHP没有简单的包含字符串函数? 的全部内容, 来源链接: utcz.com/qa/259356.html

回到顶部