petri adlı üyeden alıntı: mesajı görüntüle
Kendimce bir deneme yaptım da, array_diff() fonksiyonu sanırım şöyle işliyor.
$a = Array(
     "bos",
     "dolu",
     "farkli"
);
$b = Array(
     "bos",
     "dolu"
);

$fark = array_diff($a, $b);
print_r($fark);
Bu kodda sorunsuzca çalışıyor. A arrayinin 2 indeksli elemanı olan "farkli" çıktısını alabiliyorum. Ama "farkli" indexini B arrayine aldığımız zaman boş çıktı döndürüyor. Yani array_diff($a, $b), A arrayinde B arrayindekilerden farklı eleman olup olmadığını kontrol ediyor. Bunu sanırım iki kontrol noktası oluşturarak çözebilirsiniz. Yorumları tamamen kendim anladığım kadarıyla yaptım doğruluğundan emin değilim.
Yazıda belirttiğim gibi Diff'i ben de denedim. Ama çalışmamıştı.

Fakat:
petri adlı üyeden alıntı: mesajı görüntüle
 $a = Array(
  "bos",
  "dolu",
  "farkli",
  "r10"
);
$b = Array(
  "bos",
  "dolu",
  "ayni",
  "test"
  
);

$fark = fark_hesapla($a, $b);

print_r($fark);

function fark_hesapla($array1, $array2) {

  $farklar = [];

  if(count($array1) > count($array2)) {
    $uzun = $array1;
    $kisa = $array2;
  }
  else if (count($array1) < count($array2)) {
    $uzun = $array2;
    $kisa = $array1;
  }

  if (isset($uzun)) {
    foreach ($uzun as $eleman) {
      if (!in_array($eleman, $kisa)) {
        $farklar[] = $eleman;
      }
    }
  }
  else {
    foreach ($array1 as $array1e) {
      foreach ($array2 as $array2e) {
        if (!in_array($array1e, $array2)) {
          $farklar[] = $array1e;
        }
        else if (!in_array($array2e, $array1)) {
          $farklar[] = $array2e;
        }
      }
    }
  }

  return array_unique($farklar);
}
Geceden kalmayım benim de kafam pek yerinde değil ama başardım! Belki daha kısa yolu vardır illa ki, aklıma ilk böyle geldi, denedim çalıştı valla.
Bunda çalıştı. in_array'ı hiç denememiştim. Belki de keramet in_array'daydı.

Softyr adlı üyeden alıntı: mesajı görüntüle
Merhaba,

Üst yorumdaki üyenin yazdığı gibi array_diff kullanabilirsiniz ya da;
Explode ile de veritabanına kayıt ettiğiniz kelimeleri ayırın, post'tan gelen kelimeleri foreach ile döndürün foreach içerisinde if & in_array kullanarak çakışan kelime var mı kontrol edin.
Sitenizde 10-100k kişi aynı anda işlem yapma potansiyeline sahipse zaten özel optimizasyonlu bir sunucuya ihtiyacınız olacak, o nedenle mysql kullanımından kaçınmayın.

İyi çalışmalar.
Sizin içinde aynı şeyi söyleyeyim. Diff'te çalışmıyor. Yazıyorum ama çalışmıyor. Nasıl çıktı aldığımı yukarıdaki konuda gösterdim. Öte yandan in_array ile çözülüyor. 👌