Merhaba ben Uğur, bir proje üzerinde çalışıyorum. Projeyi en basit haliyle anlatacağım.
Bir dizi var. Ve bu dizi hiç veritabanına eklenmediyse hepsini eklenecek. Eğer diziye yeni eleman eklersek bu sefer önceden eklenmiş olanların dışında kalan, farklı elemanları ekleyecek.
Algoritma çok basit. Koda dökmekte basit ama kod istediğim gibi çalışmıyor. (O zaman koda dökmek zor oluyor olabilir..)
Farklı elemanı bulan kodu denedim.
array_diff fakat farklı elemanı bulmak yerine bana bunu gösteriyor:
Niye böyle gösteriyor anlamadım. Bana "555" farklıdır demeli ama demiyor.
Tagler arrayinde fark ettiyseniz boşluklar var. Onları silince de aynı sonucu alıyorum. Yani olay onunla alakalı değil. Hepsi string. Türle'de alakalı değil. $dizi1, $dizi2 yerine $dizi2, $dizi1 de denedim. Yine aynı sonuç.
Bunun dışında aklıma dizideki aynı olanları tespit edip onları diziden çıkartınca ortada farklı olan kalır diyerek bu kodu yazdım:
unset($veritabani[array_search($tagsx, $veritabani)]);
Böyle bir çıktı aldım:
Yine teoride çalışan şey pratikte çalışmadı. Ne yapsam "555" farklıdır diyip onu yalnız bırakmıyor.
Bu ihtimallerin dışında MySQL ile konuya müdahale etme fikri geldi. Ama bu durumda veritabanları zorlanır diye endişeleniyorum. 1 kişide pek bir şey olmaz ama 10 bin yada 100 bin kişi işlem yapınca sıkıntı çıkabilir diye düşünüyorum. MySQL'de şunu kurgulamıştım. Bunun için şu konudaki kodlar işe yarayabilirdi. https://www.r10.net/php/2023946-php-ile-mysql-den-cekilen-ayni-icerigi-bir-defa-yazdirma-yardim.html
Bunu yazarken aynı anda düşünüyorum. Beynim curcuna. 😅 Acaba bunu arraydan çıkartıp 2 değişkeni tek string yani bildiğin cümle yapsam sonra preg_match ile parçalasam mı? Hakikaten kafam karmakarışık. Yardıma ihtiyacım var. Hem kendi arkadaşlarıma yazdım hem de sizinle paylaşıyorum. Teşekkürler.