Considérez tableau suivantTrie un tableau associatif en php avec de multiples conditions
$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')
);
Ici, je voudrais trier avec la tête et membkey. élément supérieur de même élément de membkey doit avoir 'la tête = y' et repris comme,
$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')
);
Je l'ai essayé comme suit
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.
Toutes les suggestions s'il vous plaît.
vous devez être plus clair. ta question est un gâchis. –
ajouté une fonction générique "sort_by" à ma réponse qui pourrait rendre les choses plus faciles pour vous –