为什么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