Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

iki diziyi (array) karşılaştırma php


Öne çıkan mesajlar

Mesaj tarihi:
PHP'de takıldığım bi nokta var ve sormak istedim. Olayım şu 2 tane dizim var.

$deneme = array(1,2,3,4,5);
$deneme2 = array(1,3,5,7); ( Bu dizi postdan gelen verilerle oluşturuluyor )

şimdi istiyorum ki bu ikisini kontrol edeyim eğer yukarıdaki değerlerin dışında bi değer varsa $deneme2'de false dönsün yoksa true dönsün. Yukarda verdiğim örnekde "7" rakamı oldugu için "false" dönmesi gerek. Eğer "7" olmasaydı true dönecekti.

Aradım taradım bikaç yere sordum "array_diff_key" söylediler ama ondada istediğim şeyi yapamadım.

Nasıl yapabilirim ?
Mesaj tarihi:
php syntax kafamda degil ama asagi yukari söyle yapabilirsin
for döngüsü ve $deneme2-count yardimi ile olur. yani array icerigini $deneme2[x] benzeri digeri ile karsilastirabilirsin tabiki performans acisindan pek güzel degil. belki hazir bir fonksiyonda vardir php icin.
Mesaj tarihi:
Kafanin karismadigi sey var mi ki diyecegim ariza cikacak. Demedim varsayalim =P =)


if(count($deneme) >= count($deneme2) $count = count($deneme)
else $count = count($deneme2);

for($t=0;$t<$count;$t++){
// $deneme[$t] ile $deneme2[$t]'yi karsilastir istedigin gibi.
}

?>
Mesaj tarihi:
di, senin yontemle (1,2,3,4) arrayi ile (2,3,4) u karsilastirirsan hic ortak uye bulmaz.

eger manuel yapilacaksa deneme2'nin her uyesi icin in_array(deneme) yapip ona gore almak/elemek lazim.

bir de, o bastaki if'i oyle yazagina soyle yazarsan daha okunabilir olur

$count = count($deneme) >= count($deneme2) ? count($deneme) : count($deneme2)
Mesaj tarihi:
di said:

Kafanin karismadigi sey var mi ki diyecegim ariza cikacak. Demedim varsayalim =P =)


if(count($deneme) >= count($deneme2) $count = count($deneme)
else $count = count($deneme2);

for($t=0;$t<$count;$t++){
// $deneme[$t] ile $deneme2[$t]'yi karsilastir istedigin gibi.
}

?>


kafam karıştı demedim ki. Ayrıca yukardaki kod ile neyi kontrol ediyon sen ben onu anlamadım kafana göre bişiler yazmışın dicem kızıcan demedim varsay.


//Bu array('Seçenek1','Seçenek2','Seçenek2'); şeklindeyse olur kontrolü gerçekleştirir.
array_diff($dizi1, array_flip($dizi2));


Bu kadar!
Mesaj tarihi:
Mum_Chamber said:
array_flip niye yahu?


Yukarıda arkadaş yazmışda yine açıklayım. Başlığı aratan bulan falan olur dumur olmasın.

şimdi $deneme = array('Hoppala','Deneme','Paticik','Ah bu gençlik');

alanlar bu şekilde $deneme2 diziside array(1,2,3,4,5); olarak geldiği için ee normal olarak karşılaştırma yapamıyor array_diff(); Onun yerine $deneme'nin değerlerini yer değiştiriyoruz sonra karşılaştırıyoruz.
Mesaj tarihi:
di said:

Dogru karisti degil takildim demissin.

Yalniz yazdigim seyi anlamadiysan yine var bir sorun.


Evet ben anlamadım. Sen muhteşem ve şahane bir yol ile anlatmışsın zaten di abi özür dilerim
Mesaj tarihi:
Brigand said:

yazdığım fonksiyon o zaman işini görüyo olması lazım değil mi?


Evet evet görüyor. Ben daha sonra aramaya inanan olurda aynı sorunla karşılaşan olur diye ekledim ;)
×
×
  • Yeni Oluştur...