【发布时间】:2014-02-18 10:42:31
【问题描述】:
如何检查字符串是否包含数组的成员,并返回相关成员的索引(整数)?
假设我的字符串是这样的:
$string1 = "stackoverflow.com";
$string2 = "superuser.com";
$r = array("queue" , "stack" , "heap");
get_index($string1 , $r); // returns 1
get_index($string2 , $r); // returns -1 since string2 does not contain any element of array
我怎样才能以优雅(简短)和高效的方式编写这个函数?
我找到了一个检查字符串是否包含数组成员的函数(表达式?):
(0 < count(array_intersect(array_map('strtolower', explode(' ', $string)), $array)))
但这是一个布尔值。 count() 函数是否在此语句中返回我想要的内容?
感谢您的帮助!
【问题讨论】:
-
仅供参考,您的单行代码并不是最好的代码。爆炸、转换和相交是对大字符串/数组的“繁重”操作,可以更轻松地完成:)
标签: php arrays string contains