note 118871 added to function.usort

From: Date: Fri, 19 Feb 2016 12:12:59 +0000
Subject: note 118871 added to function.usort
Groups: php.notes 
Request: Send a blank email to php-notes+get-204993@lists.php.net to get a copy of this message
You can also sort multi-dimensional array for multiple values like as <?php $arr = [ [ "name"=> "Sally", "nick_name"=> "sal", "availability"=> "0", "is_fav"=> "0" ], [ "name"=> "David", "nick_name"=> "dav07", "availability"=> "0", "is_fav"=> "1" ], [ "name"=> "Zen", "nick_name"=> "zen", "availability"=> "1", "is_fav"=> "0" ], [ "name"=> "Jackson", "nick_name"=> "jack", "availability"=> "1", "is_fav"=> "1" ], [ "name"=> "Rohit", "nick_name"=> "rod", "availability"=> "0", "is_fav"=> "0" ], ]; usort($arr,function($a,$b){ $c = $b['is_fav'] - $a['is_fav']; $c .= $b['availability'] - $a['availability']; $c .= strcmp($a['nick_name'],$b['nick_name']); return $c; }); print_r($arr); ?> Output: Array ( [0] => Array ( [name] => Jackson [nick_name] => jack [availability] => 1 [is_fav] => 1 ) [1] => Array ( [name] => David [nick_name] => dav07 [availability] => 0 [is_fav] => 1 ) [2] => Array ( [name] => Zen [nick_name] => zen [availability] => 1 [is_fav] => 0 ) [3] => Array ( [name] => Rohit [nick_name] => rod [availability] => 0 [is_fav] => 0 ) [4] => Array ( [name] => Sally [nick_name] => sal [availability] => 0 [is_fav] => 0 ) ) ---- Server IP: 72.52.91.14 Probable Submitter: 103.240.32.74 ---- Manual Page -- http://php.net/manual/en/function.usort.php Edit -- https://master.php.net/note/edit/118871 Del: integrated -- https://master.php.net/note/delete/118871/integrated Del: useless -- https://master.php.net/note/delete/118871/useless Del: bad code -- https://master.php.net/note/delete/118871/bad+code Del: spam -- https://master.php.net/note/delete/118871/spam Del: non-english -- https://master.php.net/note/delete/118871/non-english Del: in docs -- https://master.php.net/note/delete/118871/in+docs Del: other reasons-- https://master.php.net/note/delete/118871 Reject -- https://master.php.net/note/reject/118871 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#204993) next »