Рассмотрим следующий массивСортировка ассоциативный массив в PHP с несколькими условия
$details = array(
array('lname'=>'A', 'fname'=>'P','membkey'=>700,'head'=>'y'),
array('lname'=>'B', 'fname'=>'Q','membkey'=>540,'head'=>'n'),
array('lname'=>'C', 'fname'=>'R','membkey'=>700,'head'=>'n'),
array('lname'=>'D', 'fname'=>'S','membkey'=>540,'head'=>'y'),
array('lname'=>'E', 'fname'=>'T','membkey'=>700,'head'=>'n')
);
Здесь я хотел бы разобраться с головой и membkey. Топ элемент же membkey элемент должен иметь «голова = у» и повторил, как,
$details = array(
array('lname'=>'A', 'fname'=>'P','membkey'=>700,'head'=>'y'),
array('lname'=>'E', 'fname'=>'T','membkey'=>700,'head'=>'n'),
array('lname'=>'C', 'fname'=>'R','membkey'=>700,'head'=>'n'),
array('lname'=>'D', 'fname'=>'S','membkey'=>540,'head'=>'y'),
array('lname'=>'B', 'fname'=>'Q','membkey'=>540,'head'=>'n')
);
Я пробовал следующим
function orderbymemberKey($a, $b){
if ($a[membkey] == $b[membkey])
return 0;
return($a[membkey] < $b[membkey])? -1 :1;
}
usort($details, orderbymemberKey);
and it successfully order by membkey.
Любые предложения, пожалуйста.
вам нужно быть более ясным. ваш вопрос беспорядок. –
добавил общую функцию sort_by к моему ответу, который может облегчить вам работу –