我想在数组中找到一个单词。所以我有两个数组
array1 = array ('This is my first array','This is my second element');
array2= array('This','element')
我想知道array1的引用,其中数组2中的单词匹配。以下代码工作正常,但它重复引用号:
foreach ($array1 as $key => $value) {
foreach($array2 as $keys => $word) {
if(strpos($value, $word) !== false) {
echo $key, PHP_EOL;
}
}
}
结果为“0 0 1 1”,而我想要“0 1”
答案 0 :(得分:1)
特别针对这种情况,break;
会做你想做的事情:
foreach ($array1 as $key => $value) {
foreach($array2 as $keys => $word) {
if(strpos($value, $word) !== false) {
echo $key, PHP_EOL;
break; /*Moves on to next array item in array1 instead of looking for
more matches in array2*/
}
}
}
答案 1 :(得分:-2)
您可以使用array_unique
来过滤欺骗。
$temp_array = array();
if(strpos($value, $word) !== false) {
$temp_array[] = $key;
}
print implode(' ', array_unique($key));