array_multisort Çok sayıda diziyi veya çok boyutlu dizileri sıralar &reftitle.description; boolarray_multisort arraydizi1 mixeddizi1_sıralama_düzeniSORT_ASC mixeddizi1_sıralama_seçenekleriSORT_REGULAR mixeddiğerleri array_multisort işlevi çok sayıda diziyi bir kerede sıralayabileceği gibi çok boyutlu bir diziyi bir veya daha fazla boyuta göre de sıralayabilir. İlişkisel (string) anahtarlar korunursa da sayısal indisler yeniden oluşturulur. ¬e.sort-unstable; ¬e.reset-index; &reftitle.parameters; dizi Sıralanacak dizi. dizi1_sıralama_düzeni Önceki dizi bağımsız değişkenini sıralamada kullanılacak düzen. Artan şekilde sıralamak için SORT_ASC, azalan şekilde sıralalmak için SORT_DESC. Bu bağımsız değişken dizi1_sıralama_seçenekleri bağımsız değişkeniyle yer değiştirebilir. Bu durumda sıralama düzeni olarak SORT_ASC öntanımlıdır. dizi1_sıralama_seçenekleri Önceki dizi bağımsız değişkeni için sıralama seçenekleri Sıralama türü seçenekleri: SORT_REGULAR - öğeler normal olarak karşılaştırılır (türleri değişmez) SORT_NUMERIC - öğeler sayısal olarak karşılaştırılır SORT_STRING - öğeler dizgesel olarak karşılaştırılır SORT_LOCALE_STRING - öğeler geçerli yerele göre dizgesel olarak karşılaştırılır. setlocale ile belirtilen yerel kullanılır. SORT_NATURAL - öğeler natsort işlevinin yaptığı gibi "doğal sıralama" kullanılarak dizgesel olarak karşılaştırılır. SORT_FLAG_CASE - dizgeleri harf büyüklüğüne bakmaksızın sıralamak için SORT_STRING ile SORT_NATURAL VEYAlanabilir. Bu bağımsız değişken dizi1_sıralama_düzeni ile yer değiştirebilir veya hiç belirtilmeyebilir; bu durumda SORT_REGULAR öntanımlıdır. diğerleri Dğer diziler; ardından isteğe bağlı oarak sıralama düzeni ve seçenekleri belirtilebilir. Yalnızca önceki dizilerdeki eşdeğer öğelere karşılık gelen öğeler karşılaştırılır. Başka bir deyişle, sıralama sözlükbilimseldir. &reftitle.returnvalues; &return.success; &reftitle.examples; - Çok sayıda diziyi sıralamak ]]> Bu örnekte sıralama sonrasında iki dizi arasındaki elemanlar yerlerine göre birbirinin karşıtı olmak üzere ilk dizi 0, 10, 100, 100; ikinci dizi 4, 1, 2, 3 içerir. int(0) [1]=> int(10) [2]=> int(100) [3]=> int(100) } array(4) { [0]=> int(4) [1]=> int(1) [2]=> int(2) [3]=> int(3) } ]]> - Çok boyutlu diziyi sıralamak ]]> Bu örnekte sıralama sonrasında, ilk dizi "10", 100, 100, 11, "a" dizisine dönüşecek (artan düzende dizgesel olarak sıralanır), ikinci dizi ise 1, 3, "2", 2, 1 değerlerini içerecektir (azalan düzende sayısal olarak sıralanır) . array(5) { [0]=> string(2) "10" [1]=> int(100) [2]=> int(100) [3]=> int(11) [4]=> string(1) "a" } [1]=> array(5) { [0]=> int(1) [1]=> int(3) [2]=> string(1) "2" [3]=> int(2) [4]=> int(1) } } ]]> - Veritabanı sonuçlarının sıralanması Bu örnek için, veri dizisindeki her eleman tablodaki bir satıra karşılıktır. Örnek veri: Dizi olarak veri dizisi kullanılmıştır. Aynı sonuç mysqli_fetch_assoc işlevini bir döngü içinde kullanarak da elde edilebilir. 67, 'baskı' => 2); $veri[] = array('bölüm' => 86, 'baskı' => 1); $veri[] = array('bölüm' => 85, 'baskı' => 6); $veri[] = array('bölüm' => 98, 'baskı' => 2); $veri[] = array('bölüm' => 86, 'baskı' => 6); $veri[] = array('bölüm' => 67, 'baskı' => 7); ?> ]]> Bu örnekte bölüm'ü azalan baskı'yı artan düzende sıralayacağız. Satırlara karşılık gelen bir dizimiz var, fakat array_multisort sütun dizileri gerektiriyor. Bu nedenle sıralamayı yapmadan önce sütunları elde etmek için şu kodu kullanacağız: $satır) { $bölüm[$anahtar] = $satır['bölüm']; $baskı[$anahtar] = $satır['baskı']; } // Yukarıdaki kod yerine array_column() kullanılabilir $volume = array_column($veri, 'bölüm'); $edition = array_column($veri, 'baskı'); // bölüm'ü azalan, baskı'yı artan düzende sıralayalım ve // ortak bir anahtara göre sıralamak için $veri'yi son // bağımsız değişken olarak ekleyelim array_multisort($bölüm, SORT_DESC, $baskı, SORT_ASC, $veri); ?> ]]> Veri kümemiz artık sıraya dizildi: - Harf büyüklüğüne duyarsız sıralama SORT_STRING ve SORT_REGULAR seçenekleri harf büyüklüğüne duyarlı olup, büyük harf ile başlayan dizgeler sıralamada küçük harfle başlayanlardan önce gelir. Harf büyüklüğüne duyarsız sıralama yapmak için özgün dizinin önce küçük harfli bir kopyası oluşturulur. ]]> &example.outputs; Alpha [1] => atomic [2] => bank [3] => Beta ) ]]> &reftitle.seealso; usort &seealso.array.sorting;