我尝试在数组中搜索,但根本没有得到任何结果。
假设我有一个包含一些值的数组。
所以当我想搜索它们时,它总是返回 null!
不知道为什么!
假设这是我的数组——
$data = Array
(
[0] => Array
(
[id] => 122
[name] => Fast and furious 5
[category] => Game
)
[1] => Array
(
[id] => 232
[name] => Battlefield and more
[category] => Game
)
[2] => Array
(
[id] => 324
[name] => Titanic the legend
[category] => movie
)
[3] => Array
....
所以我尝试过这样的——
$search = 'and'; // what I want to search
$nameSearch = array_search($search, $data);
print_r($nameSearch);
输出——空
$search='and'; // what i want to search
$nameSearch= array_filter($search, $data);
print_r($nameSearch);
输出——空
目标是找到与数组中的任何内容匹配的值。
意思是,如果我请求“和”作为回报,我应该得到
Fast and furious 5
Battlefield and more
因为该值包含“和”。
array_filter
and array_search
寻找精确匹配。结合array_filter
with stripos
相反,如果您想要部分匹配:
$search = 'and';
print_r(array_filter($data,function($a) use ($search) {
return stripos($a['name'],$search) !== false;
}));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)