2011-09-15 4 views

답변

5

이 또한 내가에 usort()와 클로저를 사용하여 작동하도록있어

<?php 
    $myArray []= array('firstname' => 'John' , 'lastname'=> 'Johnson'); 
    $myArray []= array('firstname' => 'Adam' , 'lastname'=> 'Tyson'); 
    $myArray []= array('firstname' => 'Mike' , 'lastname'=> 'Robinson'); 
    $myArray []= array('firstname' => 'David' , 'lastname'=> 'Jackson'); 

    foreach ($myArray as $array) { 
     $lastnames[] = $array['lastname']; 
    } 

    array_multisort($lastnames,SORT_STRING,$myArray); 
    echo '<pre>',print_r($myArray,1),'</pre>'; 
2

이것은 당신이 무엇을해야한다 : 나는 정렬에, uasort(), 사용자 지정 정렬 기능 중 하나를 사용하고

<?php 
function cmp($a, $b) { 
    return strcasecmp($a['lastname'], $b['lastname']); 
} 

$myArray[] = array('firstname' => 'John', 'lastname'=> 'Johnson'); 
$myArray[] = array('firstname' => 'Adam', 'lastname'=> 'Tyson'); 
$myArray[] = array('firstname' => 'Mike', 'lastname'=> 'Robinson'); 
$myArray[] = array('firstname' => 'David', 'lastname'=> 'Jackson'); 

uasort($myArray, 'cmp'); 

.

3

작동합니다.

 usort($myArray, function($a, $b){ 
      return strcasecmp($a['lastname'], $b['lastname']); 
     }); 
+0

PHP 5.3 이상인 경우 ... http://www.php.net/manual/en/functions.anonymous.php – StefanNch

관련 문제