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


Pluton

Öne çıkan mesajlar

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 ?
Link to comment
Sosyal ağlarda paylaş

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.
Link to comment
Sosyal ağlarda paylaş

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.
}

?>
Link to comment
Sosyal ağlarda paylaş

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)
Link to comment
Sosyal ağlarda paylaş

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!
Link to comment
Sosyal ağlarda paylaş

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.
Link to comment
Sosyal ağlarda paylaş

×
×
  • Yeni Oluştur...