JENERİK sıralama İzleyen için gerekli PHP 5.2 Fonksiyon

1 Cevap php

Tamam, siz bana geçen Cuma bir kayıt dizisi sıralamak için harika bir çözüm verdi. (http://stackoverflow.com/questions/2884325/php-5-2-function-needed-for-generic-sorting-of-a-recordset-array)

Ama şimdi bunu uygulamak zaman, ben kayıt dizide ekstra bir eleman ile sonuna kadar. Yukarıdaki bağlantı olduğu gibi, aynı bilgi reposting alanı idin olmaz. Ama sonuçta ben 5 kayıtları bir dizi sıralamak zaman, elde edilen dizi 6 kayıtları olmasıdır. Dizideki son elemanı bir rekor dizisi değil, 1 bir tamsayı değeri içeren bir unsur değildir. Ben bir şekilde "strnatcasecmp" fonksiyonunun çıkış değeri elde ettiğini tahmin, ama nasıl oluyor hiçbir fikrim yok .

Burada ince millet, geçen hafta fonksiyonudur:

function getSortCommand($field, $sortfunc) {
    return create_function('$var1, $var2', 'return '.$sortfunc.'($var1["'.$field.'"], $var2["' .$field .'"]);');
}

Ve burada ben diziyi sıralamak için arıyorum satır:

$trek[] = usort($trek, getSortCommand('name', 'strnatcasecmp'));

Bu sonuna tacked ekstra bir elemanı ile, aşağıdaki çıktıyı üretir.

Array
(
[0] => Array
    (
        [name] => Kirk
        [shirt] => Gold
        [assign] => Bridge
    )

[1] => Array
    (
        [name] => McCoy
        [shirt] => Blue
        [assign] => Sick Bay
    )

[2] => Array
    (
        [name] => Scotty
        [shirt] => Red
        [assign] => Engineering
    )

[3] => Array
    (
        [name] => Spock
        [shirt] => Blue
        [assign] => Bridge
    )

[4] => Array
    (
        [name] => Uhura
        [shirt] => Red
        [assign] => Bridge
    )

[5] => 1
)