我试图在一个数组内搜索,但根本没有得到任何结果.
假设我有一个包含一些值的数组.
因此,当我想搜索它们时,它总是返回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和array_search查找完全匹配.如果您想要部分匹配,请将array_filter与stripos组合使用:
$search = 'and';
print_r(array_filter($data,function($a) use ($search) {
return stripos($a['name'],$search) !== false;
}));
标签:php,arrays
来源: https://codeday.me/bug/20190528/1168875.html