镜像SQL的PHP​​阵列的LIKE功能?

时间:2009-10-13 10:56:16

标签: php ajax arrays

此时我有一个带有AJAX脚本的页面,该脚本使用LIKE'%搜索词从输入框%'搜索数据库。

我需要对其进行修改,以便不是搜索数据库而是搜索数组(已经从两个表构建 - 我不能使用JOIN,因为它比它更多)。

如何在PHP中创建一个模糊搜索函数,它将返回数组中所有可能的匹配项?

2 个答案:

答案 0 :(得分:8)

你想要preg_grep

e.g。

$arr = array("tom jones", "tom smith", "bob jones", "jon smith");
$results = preg_grep("/jones/",$arr);

$results现在将包含两个元素"tom jones""bob jones"

答案 1 :(得分:2)

你可以循环遍历数组并使用strpos来找到匹配的元素

foreach( $arr as $value ) {
   if ( strpos($value, 'searchterm') !== FALSE ) {
      // Match
   }
}

您可以使用正则表达式进行更高级的搜索,但如果您只是尝试执行简单的LIKE'%term%'类型搜索,则strpos会更快。