php - 通过搜索键和值中的部分匹配来过滤数组元素

标签 php arrays regex search filtering

是否可以像在 MySQL 中那样在 PHP 数组中进行搜索。

例如:我有这个数组

array(
  'mark@test.com'=> `Mark Mian`,
  'jhon@test.com'=> `John jack`,
  'logon@test.com'=> `Bob Logon`,
  'Stela@test.com'=> `Stela Josh`,
  'json@test.com'=> `Json Josh`
  'bobby@test.com'=> `Bob Mark`
)

我会做这种类型的搜索,

例如:如果我搜索 Mark,它应该返回这个

'mark@test.com' => `Mark Mian

如果我搜索 Bob 它应该返回我

'bobby@test.com'=> Bob Mark

'logon@test.com'=> Bob Logon,

如果我只搜索 a 它应该返回那些包含 a 的元素,例如:

'mark@test.com'=> Mark Mian,

'jhon@test.com'=> John jack,

'Stela@test.com'=> Stela Josh,

'bobby@test.com'=> Bob Mark

注意:搜索应按键或值

最佳答案

$needle="bob";
$output=array();
foreach($array as $k=>$v)
{
   if(stristr($k,$needle) || stristr($v,$needle))
   $output[$k]=$v;
}
print_r($output);

Fiddle

也就是说,如果你想同时搜索键和值,如果你只想搜索值,请删除 keys 部分。

关于php - 通过搜索键和值中的部分匹配来过滤数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36081298/

相关文章:

c++ - 挤压表 : same row overlap together, 并数数

php - 通过在php中连接字符串来创建变量名

php - 使用 php 和 mysql 进行 Ajax 分页

javascript - 在循环数组时发出 json 请求和存储值的正确方法是什么?

c - 指针访问和数组访问之间的值差异

java - 查明 HTML 代码是否代表可见文本/图像

java - 字母替换密码、不使用 HashMap 的单字母密码

php - 当我键入时从 MySQL 填充多个输入字段

javascript - 表单信息显示在另一页上

javascript - 正则表达式/替换匹配组合中的任何字符