【发布时间】:2017-03-02 05:43:32
【问题描述】:
我有一组数组数据,我需要从数组的值中找出匹配词
$my_word = 'mbusa.com';
$array_data = array:6 [
0 => array:2 [
0 => "Mercedes-Benz Luxury Cars: Sedans, SUVs, Coupes and Wagons"
1 => "/l/?kh=-1&uddg=https%3A%2F%2Fwww.mbusa.com%2Fmercedes%2Findex"
]
1 => array:2 [
0 => "Mercedes-Benz - International Corporate Website"
1 => "/l/?kh=-1&uddg=https%3A%2F%2Fwww.mercedes%2Dbenz.com%2F"
]
2 => array:2 [
0 => "New Mercedes-Benz Cars - Autotrader"
1 => "/l/?kh=-1&uddg=http%3A%2F%2Fwww.autotrader.com%2FMercedes%2BBenz%2Dcars.jsp"
]
3 => array:2 [
0 => "Mercedes-Benz C-Class - mbusa.com"
1 => "/l/?kh=-1&uddg=https%3A%2F%2Fwww.mbusa.com%2Fmercedes%2Fvehicles"
]
4 => array:2 [
0 => "Mercedes-Benz - New models: Pricing, MPG, and Ratings | Cars.com"
1 => "/l/?kh=-1&uddg=https%3A%2F%2Fwww.cars.com%2Fresearch%2Fmercedes_benz%2F"
]
5 => array:2 [
0 => "Mercedes-Benz Reviews - Mercedes-Benz Cars | Edmunds"
1 => "/l/?kh=-1&uddg=https%3A%2F%2Fwww.edmunds.com%2Fmercedes%2Dbenz%2F"
]
6 => array:2 [
0 => "Mercedes-Benz - Wikipedia"
1 => "/l/?kh=-1&uddg=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FMercedes%2DBenz"
]
]
在这个数组中,我需要找到 my_word 并且需要显示位置mbusa.com found at N position。
我正在尝试使用下面的代码
$matches = array_filter($array_data, function($var) use ($my_word){
return preg_match("/\b$my_word\b/i", $var);
});
但它会给出类似
的错误preg_match() 期望参数 2 是字符串,给定数组
有什么建议吗?
谢谢。
【问题讨论】:
-
遍历 $array_data 并比较 $my_word 和 $array_data[i][1] 的值。我不确定 php 中的确切语法。
-
N位是什么意思??
-
我需要知道myword匹配的位置
-
@Anant 是的,我正在检查