İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

php'de dizi sıralama

webyazilim

0
İyinet Üyesi
Katılım
12 Haziran 2006
Mesajlar
1,511
Reaction score
0
Konum
Kayseri
Kod:
Array
(
    [0] => Array
        (
            [0] =>  a
            [1] => 1
        )

    [1] => Array
        (
            [0] => "b"
            [1] => 3
        )

    [2] => Array
        (
            [0] => "c"
            [1] => 1
        )
);

yukardaki diziyi sıralamak istiyorum. dizinin içindeki dizinin 1. elamnı bir sayi. o sayiya göre tersine ve düz olarak nasıl sıralayabilirim ?
 

webyazilim

0
İyinet Üyesi
Katılım
12 Haziran 2006
Mesajlar
1,511
Reaction score
0
Konum
Kayseri
cevapsız kalmasın soru diye yazayım madem buldum :)

dizilerin içindeki dizilere göre sıralama yaparken bildiğiniz dizi sıralama komutu kullanılıyormuş. Yalnız içerdeki diziye göre sıralarken o dizinin ilk elemanına sıralama için kullanılacak elemanı denk getirmek gerekiyor.

Yukardaki örnek için $dizi[0][0] bölümüne rakam olanı getirip içerdeki dizinin elemanlarının yerlerini değiştirdim oldu.
 

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,030
Reaction score
73
Konum
Sakarya
Bu tür soruların yanıtlanamamasının esas nedeni sorunun anlaşılamamış olmasıdır, bu tür sorular oluyor, sanırım esas nedeni o anda aklınızın çok meşgul olması ve okuyan kişinin o anda sizin aklınızdakileri bildiğinizi varsaymanız.
Bu tür soruları aslında anlatmak zordur. Bu nedenle en başından başlamak ve detaylıca anlatmak en iyisi olur diye düşünüyorum.
 

webyazilim

0
İyinet Üyesi
Katılım
12 Haziran 2006
Mesajlar
1,511
Reaction score
0
Konum
Kayseri
doğrudur, bende cevap vermek için girdiğimde bir soruya cevabın değil koskoca bir çözümün talep edildiğini görüyorum ya da söylediğiniz gibi soruyu kavrayamıyorum. neyse benim sorum o kadar karışık değildi.

cevabı bulunca , yazmış olmamın nedeni birileri daha ararsa kaynak olsun diye.
 

ejder

0
İyinet Üyesi
Katılım
10 Kasım 2003
Mesajlar
0
Reaction score
4
Konum
istanbul
http://tr2.php.net/manual/en/function.array-multisort.php#73498


PHP:
<?php
    /** 
    * @desc You really should validate the posted sort direction against a list of valid possibilities.
    *         Options are SORT_ASC, SORT_DESC, etc, as shown in the documentation for array_multisort
    */
    $sort['direction'] = $_POST['sort_direction'] ? $_POST['sort_direction'] : 'SORT_ASC';
    $sort['field']       = $_POST['sort_field'] ? $_POST['sort_field'] : 'value';

    $array_to_sort = array();    
    $array_to_sort['TestCase1'] = array('name'=>'Test1','value'=>'218');
    $array_to_sort['TestCase2'] = array('name'=>'Test2','value'=>'10');
    $array_to_sort['TestCase3'] = array('name'=>'Test3','value'=>'64');
    
    /**
    * @desc Build columns using the values, for sorting in php
    */
    $sort_arr = array();
    foreach($array_to_sort AS $uniqid => $row){
        foreach($row AS $key=>$value){
            $sort_arr[$key][$uniqid] = $value;
        }
    }
    
    print '<b>Before sorting</b>: <br> <pre>';
    print_r($array_to_sort);
    print '</pre>';
    
    if($sort['direction']){
        array_multisort($sort_arr[$sort['field']], constant($sort['direction']), $array_to_sort);
    }

    print '<b>After sorting</b>: <br> <pre>';
    print_r($array_to_sort);
    print '</pre>';
    
?>
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Üst