过滤数组,以保留键包含搜索字符串的所有元素 [英] Filter array to retain all elements that have a key containing a searched string

查看:61
本文介绍了过滤数组,以保留键包含搜索字符串的所有元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试执行一些预测性搜索,并将preg_grep()用作摆脱SQL中的LIKE的一种方式。

我有以下数组:

$values = array("Phorce" => 123, "Billy" => 234);

如果我有Phorc,我需要所有数组元素(键和值),部分匹配Phorc,所以这里是Phorce => 123。是否可以使用preg_grep()

我已尝试使用以下内容:

$result = preg_grep('~' . 'Phorce' . '~', $values);

如何使代码按上述方式工作?

推荐答案

那么您要搜索密钥吗?

$values = array("Phorce" => 123, "Billy" => 234);
$results = preg_grep('/Phor/', array_keys($values));

$arr = [];
foreach($results as $result) {
    $arr[$result] = $values[$result];
}

print_r($arr);

这篇关于过滤数组,以保留键包含搜索字符串的所有元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆