2016-03-28 19 views
0

Bunun gibi ilişkisel bir dizim var.İlişkilendirilmiş diziyi PHP kullanarak değeri nasıl sıralanır?

Ben bunu nasıl yapabilirim name göre sıralamak istiyorum
Array 
(
    [0] => Array 
     (
      [id] => 1 
      [name] => Admin 
      [email] => [email protected] 
      [group] => Admin 
      [href] => http://localhost/teradasys/index.php/users/user/user_info?&user_id=1 
     ) 

    [1] => Array 
     (
      [id] => 2 
      [name] => rochellecanale 
      [email] => [email protected] 
      [group] => 
      [href] => http://localhost/teradasys/index.php/users/user/user_info?&user_id=2 
     ) 

    [2] => Array 
     (
      [id] => 3 
      [name] => symfony 
      [email] => [email protected] 
      [group] => 
      [href] => http://localhost/teradasys/index.php/users/user/user_info?&user_id=3 
     ) 

    [3] => Array 
     (
      [id] => 4 
      [name] => jolopeterson 
      [email] => [email protected] 
      [group] => 
      [href] => http://localhost/teradasys/index.php/users/user/user_info?&user_id=4 
     ) 

    [4] => Array 
     (
      [id] => 5 
      [name] => symfony123 
      [email] => [email protected] 
      [group] => 
      [href] => http://localhost/teradasys/index.php/users/user/user_info?&user_id=5 
     ) 

?

+1

[** Bu sizin aradığınız cevap olabilir. **] (http://stackoverflow.com/a/2699159/4672534) – rmondesilva

cevap

1

uasort() işlevi, aradığınız şeydir.

uasort($data, function($a, $b) { return strcasecmp($a['name'], $b['name']); }); 

Kullanıcı tanımlı karşılaştırma fonksiyonları nasıl çalıştığına dair örnekler için() doc usort üzerinde() ve uksort bir göz atmalısınız.

1

ana dizi

bu İşte

$nameA = array(); 
foreach ($inventory as $key => $row) 
{ 
    $nameA[$key] = $row['name']; 
} 
array_multisort($nameA, SORT_ASC, $inventory); 

$ envanterini deneyin

+0

Ok teşekkürler. Yukarıda gönderdiğiniz bağlantıyı henüz kontrol etmedim. Bunu dene. – Jerielle

2

http://php.net/manual/en/array.sorting.php

Bu, sıralama için sayfaya gitmem.

uasort($myArray, function ($a, $b) { 
    if ($a['name'] == $b['name'] return 0; 
    return ($a['name'] < $b['name']) ? -1 : 1; 
}); 

Geçiş değiştirmek veya sipariş için karşılaştırma: Eğer böyle bir şey yapsın korunmuş dizi anahtarlarını sahip olmak istiyorsanız. Bu çeşit kullanıyorsanız, bir kapatma kullanmak yerine, onu kendi işlevine çıkarmak isteyebilirsiniz. Şahsen, bir tür kapatma oldukça kısa ve ben başka bir kod biraz atlamak gerek kalmadan ne olup bittiğini tam olarak görebileceğim satır içi sahip olmak istiyorum.

İlgili konular