首页  >  文章  >  后端开发  >  如何使用 PHP 过滤类似 SQL LIKE \'%search%\' 的数组值?

如何使用 PHP 过滤类似 SQL LIKE \'%search%\' 的数组值?

Susan Sarandon
Susan Sarandon原创
2024-11-04 04:32:29770浏览

How to Filter Array Values Like SQL LIKE '%search%' Using PHP?

使用 PHP 过滤数组值,例如 SQL LIKE '%search%'

要使用 JQueryUI 实现自动完成功能,从基于用户输入的数组至关重要。考虑一个数组[“橙色”,“蓝色”,“绿色”,“红色”,“粉色”,“棕色”,“黑色”]。如果用户输入“bl”,您只想显示 [“blue”, “black”]。

不使用带有自定义函数的 array_filter,更有效的解决方案是使用 preg_grep 函数,该函数允许使用常规过滤

示例:

<code class="php">$input = preg_quote('bl', '~'); // Protect against regex special characters
$data = array('orange', 'blue', 'green', 'red', 'pink', 'brown', 'black');

$result = preg_grep('~' . $input . '~', $data);

print_r($result); // Output: Array ( [0] => blue [1] => black )</code>

说明:

  • preg_quote('bl', '~ ') 转义输入字符串中的特殊字符,确保在常规中按字面意思处理它表达式。
  • 正则表达式 ~ . $输入。 ~ 搜索数组中值中任意位置包含输入字符串“bl”的元素。
  • preg_grep 将此正则表达式过滤器应用于 $data 数组,返回仅包含满足条件的匹配项的数组。

以上是如何使用 PHP 过滤类似 SQL LIKE \'%search%\' 的数组值?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn