php - 使用 PHP 从类似于 SQL LIKE '%search%' 的数组中过滤值

标签 php arrays

我使用 JQueryUI 创建了一个自动完成字段,并将我的数据存储在一个平面文档中。我可以将这些值读入一个数组......但我希望能够根据用户输入返回字母匹配。因此,如果数组包含 [orange,blue,green,red,pink,brown,black] 并且用户键入 bl,那么我只返回 [blue,black]

查看 array_diff() 但没有完全匹配数组的整个值,我不知道如何使用它......也许是一个正则表达式抛出?我最弱的两个技能数组操作和正则表达式感谢您的帮助!

最佳答案

您不需要使用 array_filter 和自定义/lambda 函数 preg_grep诀窍:

$input = preg_quote('bl', '~'); // don't forget to quote input string!
$data = array('orange', 'blue', 'green', 'red', 'pink', 'brown', 'black');

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

关于php - 使用 PHP 从类似于 SQL LIKE '%search%' 的数组中过滤值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5808923/

相关文章:

php - 如何在WordPress最近的帖子中添加导航?

php xpath - 只获取标签属性/删除内部标签内容

python - 将元素插入 numpy 数组的更好方法

arrays - Swift-每次按下保存按钮时如何将下一个索引添加到数组列表中

javascript - d3.js 引用单个数组列

c++数组,如何在同一数组中添加新的一行值?

python - 仅当第一列中的值相同时才根据第二列对 numpy 数组进行排序

php - 具有 1 对 1 关系的 SQL 删除

C# 使用 RSA 加密 PHP 解密

javascript - 如何更改日期选择器中的语言?