folder Tahribat.com Forumları
linefolder Asp - Php - Cgi - Perl
linefolder Php Yardım - Çok Boyutlu Dizilerin Karşılaştırılması



Php Yardım - Çok Boyutlu Dizilerin Karşılaştırılması

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    telekom
    telekom's avatar
    Kayıt Tarihi: 28/Temmuz/2005
    Erkek

    Kafa bir yerden sonra basmıyor, yardımcı olursanız sevinirim.
    Şöyle bir dizi var:

    Array
    (
        [0] => Array
            (
                [id] => 9685
                [magaza] => Gold
                [isim] => Acer AO725-C7SBB Netbook
                [fiyat] => 649.00
                [tarih] => 12-06-2013
            )
    
        [1] => Array
            (
                [id] => 10656
                [magaza] => PC Depo
                [isim] => Acer AO725-C7SBB Netbook
                [fiyat] => 549.81
                [tarih] => 12-06-2013
            )
    
        [2] => Array
            (
                [id] => 15998
                [magaza] => PC Depo
                [isim] => Acer AO725-C7SBB Netbook
                [fiyat] => 537.89
                [tarih] => 13-06-2013
            )
    
        [3] => Array
            (
                [id] => 19000
                [magaza] => Gold
                [isim] => Acer AO725-C7SBB Netbook
                [fiyat] => 599.00
                [tarih] => 14-06-2013
            )
    )

    Yapmak istediğim:
    Tarihi aynı olanlardan fiyatı küçük olanı almak.

    Çıktı şu şekilde olmalı:

    Array
    (
        [0] => Array
            (
                [id] => 10656
                [magaza] => PC Depo
                [isim] => Acer AO725-C7SBB Netbook
                [fiyat] => 549.81
                [tarih] => 12-06-2013
            )
    
        [1] => Array
            (
                [id] => 15998
                [magaza] => PC Depo
                [isim] => Acer AO725-C7SBB Netbook
                [fiyat] => 537.89
                [tarih] => 13-06-2013
            )
    
        [2] => Array
            (
                [id] => 19000
                [magaza] => Gold
                [isim] => Acer AO725-C7SBB Netbook
                [fiyat] => 599.00
                [tarih] => 14-06-2013
            )
    )

    vatandaşa kafam girsin!..
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    telekom
    telekom's avatar
    Kayıt Tarihi: 28/Temmuz/2005
    Erkek

    Çözümü bulunca yazmak için burası da benim olsun.

    array_unique fonksiyonu aynı içerikleri siliyor ama fiyata göre ayarlamayı henüz beceremedim.


    vatandaşa kafam girsin!..
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    EmQceR
    EmQceR's avatar
    Kayıt Tarihi: 14/Kasım/2007
    Erkek

    Tarihi aynı olanlar değilde ismi aynı olanlar galiba dimi hocam ?


    ...
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    pSkpt
    pSkpt's avatar
    Kayıt Tarihi: 10/Aralık/2010
    Erkek
    <?php
    $arr = array(
    		array('id' => 9685, 'magaza' => "Gold", 'isim' => "Acer AO725-C7SBB Netbook", 'fiyat' => 649.00, 'tarih' => "12-06-2013"),
    		array('id' => 10656, 'magaza' => "PC Depo", 'isim' => "Acer AO725-C7SBB Netbook", 'fiyat' => 549.81, 'tarih' => "12-06-2013"),
    		array('id' => 15998, 'magaza' => "PC Depo", 'isim' => "Acer AO725-C7SBB Netbook", 'fiyat' => 537.89, 'tarih' => "13-06-2013"),
    		array('id' => 19000, 'magaza' => "Gold", 'isim' => "Acer AO725-C7SBB Netbook", 'fiyat' => 599.00, 'tarih' => "14-06-2013"),
    		);
    		
    
    $arr2 = array();
    
    for($x = 12; $x <= 14; $x++){
    
    for($i = 0; $i < count($arr); $i++){
    
    if ($arr[$i]['tarih'] == $x.'-06-2013'){
    array_push($arr2, $arr[$i]);
    }
    
    }
    
    rsort($arr2);
    
    var_dump($arr2[0]);
    }
    
    ?>

    İmza...
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    sokoban
    sokoban's avatar
    Kayıt Tarihi: 23/Ocak/2010
    Erkek
    <?php
    
    	
    	
    	$arr = array(
            array('id' => 9685, 'magaza' => "Gold", 'isim' => "Acer AO725-C7SBB Netbook", 'fiyat' => 649.00, 'tarih' => "12-06-2013"),
            array('id' => 10656, 'magaza' => "PC Depo", 'isim' => "Acer AO725-C7SBB Netbook", 'fiyat' => 549.81, 'tarih' => "12-06-2013"),
            array('id' => 15998, 'magaza' => "PC Depo", 'isim' => "Acer AO725-C7SBB Netbook", 'fiyat' => 537.89, 'tarih' => "13-06-2013"),
            array('id' => 19000, 'magaza' => "Gold", 'isim' => "Acer AO725-C7SBB Netbook", 'fiyat' => 599.00, 'tarih' => "14-06-2013"),
    
            );
    
    	
    	$tarihler=array();
    	
    	foreach($arr as $x){
    		$temp[$x["tarih"]][]=$x;
    		if(empty($fiyat[$x["tarih"]])){
    			$fiyat[$x["tarih"]]=array();
    			array_push($tarihler,$x["tarih"]);
    		}
    		array_push($fiyat[$x["tarih"]],$x["fiyat"]);
    	}
    	
    	foreach($tarihler as $tarih){
    		sort($fiyat[$tarih]);
    	}
    	
    	$gosterilecek_urunler=array();
    	
    	foreach($tarihler as $tarih){
    		$ucuzfiyat=$fiyat[$tarih][0];
    		foreach($temp[$tarih] as $urun){
    			if($urun["fiyat"]==$ucuzfiyat){
    				array_push($gosterilecek_urunler,$urun);
    			}
    		}
    	}
    	
    	var_dump($gosterilecek_urunler);
    	
    	
    	
    	
    ?>
     
    sokoban tarafından 18/Haz/13 22:26 tarihinde düzenlenmiştir

    .
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    telekom
    telekom's avatar
    Kayıt Tarihi: 28/Temmuz/2005
    Erkek

    pSkpt ve sokoban çok teşekkür ederim, sayenizde halloldu. :)

    EmQceR bunu yazdı

    Tarihi aynı olanlar değilde ismi aynı olanlar galiba dimi hocam ?

    Yok hocam, yazdığım gibi; tarihi aynı olanlardan fiyatı düşük olan alınmalı.


    vatandaşa kafam girsin!..
Toplam Hit: 849 Toplam Mesaj: 6