【发布时间】:2016-07-05 00:37:08
【问题描述】:
是否可以像在 MySQL 中一样在 PHP 数组中进行搜索。
例如:我有这个array
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' => `马克勉
如果我搜索 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
注意:搜索应按键或值
【问题讨论】:
-
您可以为此使用 regex 或
str_pos。但是你尝试过什么吗? -
尝试使用
preg_grep -
@Qazi
preg_grep无法在数组键中搜索 - 如果需要,您应该在array_keys($array)上使用preg_grep -
@HankyPanky 你可以结合
array_filter和preg_grep来同时搜索两者;) -
如果问题是关于如何“模拟”
WHERE col REGEXP 'PATTERN',我会发布基于preg_grep的解决方案,但惠普的解决方案对于@987654343 来说已经足够了@ 不区分大小写的文字字符串搜索。
标签: php arrays regex search filtering