Ne yapıyorum şudur:
- Ben DB kimliği değerleri (sayısal) bir listesini almak ve bir diziye saklamak (1, 2, 2, ...)
- Sonra
array_count_değers
ile çiftleri saymak. Bu çıkışlar ([1] => 1 [2] => 2, ...) - Daha sonra sayım yoluyla azalan sırayla diziyi yeniden sıralamak istiyorum
- Ben o zaman sadece
array_keys($array)
sayım sıralı liste kimlikleri almak için kullanabilirsiniz.
Bir kez benzer bir işlev için array_multisort
kullanılabilir, ancak bu durumda, anahtarlar ('a' => 2) dizeleri idi. Sorun şimdi sayım değerini tutan tuşlar sayısal kimlikleri çünkü ben 1, 2, 3 Sayısal tuşları ve MULTISORT yeniden indeksleri tuşlarını kullanarak olmam. Bu ders vida amacı Çünkü ben artık bir şey tespit edemez ..
Her neyse, burada kabaca şimdi ne yapıyorum:
$array = array(3, 1, 2, 3, 2, 3);
// count the IDs [0]=>3, [1]=>1, [2]=>2
$count = array_count_değers($array);
// sort and screw up the id's: [0]=>3 [1]=>1 [2]=>2
array_multisort($count);
Bir şey bu yaklaşmanın daha iyi bir yolu var olduğunu söylüyor?