Я хочу найти, есть ли совпадение в массиве для 3 или более. Мой код не работает, но я не знаю, почему. Я хочу вернуть индекс из найденных.Найти 3 или более совпадений в массиве
это то, что я пробовал:
$array1 = array("bar", "bar", "bar", "foo","foo");
$array2 = array("foo", "bar", "bar", "bar","foo");
$array3 = array("foo", "bar", "bar", "bar","bar");
function checkForMatch($array){
for($i=0; $i < count($array);$i++){
if($array[i] == $array[i+1] && $array[i] == $array[i+2]){
echo "match for 3";
}
}
}
checkForMatch($array1);
оно не вернуть ничего, он не работает для всех массивов.
Он должен быть рядом друг с другом, поэтому последовательное совпадение не только соответствует, если его больше в одном массиве Что я делаю неправильно?
это может быть сделано без фильтра массива? просто простая кодировка? он не распознает функции – MichaelAngelo
Да, это можно сделать, см. комментарий @AbcAeffchen. Я использовал синтаксис синтаксиса квадратной скобки php 5.4, если у вас есть более старая версия php, она будет терпеть неудачу (поэтому просто используйте array() вместо []) – Misiur