Merhabalar, ben aşağıdaki kodu çalıştırdığımda: $ar2 = array(1,3,2,5,6,7); array_multisort($ar2,SORT_DESC); echo implode("-",$ar2); echo " => \$ar2 = array(1,3,2,5,6,7);"; ============= bu sonucu alıyorum: (Doğru sonuç) 7-6-5-3-2-1 => $ar2 = array(1,3,2,5,6,7); ===============================================
Kodu bu şekilde çalıştırdığımda ise: $ar = array(0,100,2,4,7,9); $ar2 = array(1,3,2,5,6,7); array_multisort($ar,SORT_DESC,$ar2,SORT_DESC); echo implode("-",$ar); echo " => \$ar = array(0,100,2,4,7,9);"; echo "<br>"; echo implode("-",$ar2); echo " => \$ar2 = array(1,3,2,5,6,7);"; ============= bu sonucu alıyorum: (Hatalı sonuç) 100-9-7-4-2-0 => $ar = array(0,100,2,4,7,9); 3-7-6-5-2-1 => $ar2 = array(1,3,2,5,6,7); ===============================================
Yani tek bir diziyi kullanırken ($ar2) doğru sonucu veriyor, ancak birden fazla diziyi bir arada kullanırken ($ar, $ar2) hatalı sonuç veriyor. ($ar2'nin sıralaması hatalı)
array_mutlisort() fonksiyonunun kullanım amacı nedir? Buradaki sonuçların hatalı çıkmasının mantıklı bir açıklaması var mıdır? Yardımlarınız için teşekkürler.
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
Bir tabloyu sütunlar halinde tuttuğunu düşün. İlk sütun array1, ikinci sütun array2, vs Bu tabloyu ilk sütuna göre sort edersen ikinci sütun nasıl değişecekse öyle sort ediyor ikinciyi de. Yani bağımsız değil, ilk sütundaki karşılığı olan değeri takip ediyor. Eğer ilk sütunda eşit değerler olursa, o zaman ikincileri ayrıca sort ediyor. Şu sayfadaki örnekleri incele, özellikle ikinci örnek https://www.php.net/manual/en/function.array-multisort.php
471 satırlık, array_multisort fonksiyonu ve parametreleriyle ilgili örneklerimi ve en ince ayrıntılarına kadar girdiğim notlarımı sizin için paste.ubuntu.com sitesine upload ettim.
$ar2 = array(1,3,2,5,6,7);
array_multisort($ar2,SORT_DESC);
echo implode("-",$ar2);
echo " => \$ar2 = array(1,3,2,5,6,7);";
=============
bu sonucu alıyorum: (Doğru sonuç)
7-6-5-3-2-1 => $ar2 = array(1,3,2,5,6,7);
===============================================
Kodu bu şekilde çalıştırdığımda ise:
$ar = array(0,100,2,4,7,9);
$ar2 = array(1,3,2,5,6,7);
array_multisort($ar,SORT_DESC,$ar2,SORT_DESC);
echo implode("-",$ar);
echo " => \$ar = array(0,100,2,4,7,9);";
echo "<br>";
echo implode("-",$ar2);
echo " => \$ar2 = array(1,3,2,5,6,7);";
=============
bu sonucu alıyorum: (Hatalı sonuç)
100-9-7-4-2-0 => $ar = array(0,100,2,4,7,9);
3-7-6-5-2-1 => $ar2 = array(1,3,2,5,6,7);
===============================================
Yani tek bir diziyi kullanırken ($ar2) doğru sonucu veriyor, ancak birden fazla diziyi bir arada kullanırken ($ar, $ar2) hatalı sonuç veriyor. ($ar2'nin sıralaması hatalı)
array_mutlisort() fonksiyonunun kullanım amacı nedir? Buradaki sonuçların hatalı çıkmasının mantıklı bir açıklaması var mıdır? Yardımlarınız için teşekkürler.
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.