• 24-10-2008, 22:17:25
    #1
    örneğin;
    $keys[1]="asdqwe";
    $keys[2]="Asdqwe";
    $keys[3]="deneme";
    $keys[4]="DENEME";
    $keys[5]="asdqwe";
    $keys[6]="farklı";

    Böyle bir dizide asdqwe değeri 3 kere, deneme değeri 2 kere, farklı değeri 1 kere geçmiş olduğunu anlayarak; [ 1)aswdqwe , 2)deneme , 3)farklı ] şeklinde nasıl sıralatabilirim?
  • 24-10-2008, 23:02:09
    #2
    Üyeliği durduruldu
    array_count_values($array);
    en çok hangisi aratılmış max(array_count_values($array));
    en az hangisi aratılmış min(array_count_values($array));
    vs vs..
  • 24-10-2008, 23:14:32
    #3
    Teşekkürler, bunların böyle kaç kere kullanıldığını görebiliyorum ama en çok kullanılandan en az kullanılana sıralamak istersem nasıl yapabilirim?
  • 26-10-2008, 00:49:49
    #4
    iç içe bayağı for döngüsü gerekecek
    mesela 1. elemanı alırsın son elemana kadar taratır eşitini bulursan sayıyı bir arttırırsın
    bunu tüm elemanlar için yaparsın
    ama mesela 5 ile 1 aynı
    bunun için de eğer kendisinden önce bu değer geçmişse break; falan yaparsın
  • 26-10-2008, 11:46:30
    #5
    array_count_values kullandığımda

    Array
    (
    [asdqwe] => 3
    [farklı] => 1
    [deneme] => 2
    )

    şekline geldi. Ama bunları nasıl sayıya göre sıralatacağım?

    edit:
    Şu şekildeymiş;
    $keys2=array_count_values($keys);
    arsort($keys2);
    foreach($keys2 as $x => $y) { echo("$x - $y<br>");}