PHP usort fonksiyonu hakkında soru

0 Cevap php

I usort () fonksiyonu kullanımı ile çok boyutlu bir dizi rearange nerede bir PHP komut dosyası var.

Bu dizi $ arr bir örnek dizisi (print_r-çıkış) olduğunu

Array
(
    [3] => Array
        (
            [name] => Bjudningen
            [grade] => 5
            [grade_type] => calculated
            [orgname] => LInvitation
            [id] => 13975
        )

    [0] => Array
        (
            [name] => Coeur fidèle
            [grade] => 3
            [grade_type] => calculated
            [orgname] => Coeur fidèle
            [id] => 8075
        )

    [2] => Array
        (
            [name] => Dawsonpatrullen
            [grade] => 5
            [grade_type] => calculated
            [orgname] => The Dawson Patrol
            [id] => 13083
        )

)

Ve bu benim PHP script

function sort_movies($arr,$val){
  function cmp($x, $y)
  {
    if ( $x[$val] == $y[$val] )
      return 0;
    else if ( $x[$val] < $y[$val] )
      return -1;
    else
      return 1;
  }
  usort($arr, 'cmp');
  return $arr;
}

$sorted = sort_movies($arr,"grade");

Ben farklı alt (yani isim, sınıf, id) üzerinde diziyi sıralamak mümkün olmak istiyorum, ama ben yukarıda bunu bir şekilde çalışmıyor. i değere sıralama filmleri fonksiyonu $val değiştirmek eğer bana sıralama parametresi olarak bir Vaiable göndermek için izin vermez nedense bu yüzden ancak "grade" o çalışır.

ben yanlış yapıyorum nedir?

0 Cevap