php - 二维数组按值排序
阿神
阿神 2017-04-10 17:17:20
0
2
694
//排序前 $arr = array( 0 => array('id' => 'C160001-12'), 1 => array('id' => 'C160001-10'), 2 => array('id' => 'C160001-11'), 3 => array('id' => 'C160001-4'), 4 => array('id' => 'C160001-6'), 5 => array('id' => 'C160001-3'), 6 => array('id' => 'C160001-2'), 7 => array('id' => 'C160001-5'), 8 => array('id' => 'C160001-0'), 9 => array('id' => 'C160001-8'), 10 => array('id' => 'C160001-1'), 11 => array('id' => 'C160001-9'), 12 => array('id' => 'C160001-7'), );
//排序后 $arr = array( 0 => array('id' => 'C160001-0'), 1 => array('id' => 'C160001-1'), 2 => array('id' => 'C160001-2'), 3 => array('id' => 'C160001-3'), 4 => array('id' => 'C160001-4'), 5 => array('id' => 'C160001-5'), 6 => array('id' => 'C160001-6'), 7 => array('id' => 'C160001-7'), 8 => array('id' => 'C160001-8'), 9 => array('id' => 'C160001-9'), 10 => array('id' => 'C160001-10'), 11 => array('id' => 'C160001-11'), 12 => array('id' => 'C160001-12'), );

求大神解答排序算法!
---------------------------------------华丽的分割线------------------------------------------
虽然楼下给出了答案,但是本人的另一位朋友又给出了一种更简便直观的方法,如下:

usort($statementsample,function($a,$b){ return (int)substr($a['id'],8)>(int)substr($b['id'],8); });
阿神
阿神

闭关修行中......

모든 응답 (2)
刘奇
function my_sort($a,$b) { $a = explode('-',$a['id'])[1]; $b = explode('-',$b['id'])[1]; if ($a==$b) return 0; return ($a<$b)?-1:1; } usort($arr,'my_sort');

使用usort 方法比较灵活。

    阿神

    array_multisort() 函数 示例如下

    $data[] = array('volume' => 67, 'edition' => 2); $data[] = array('volume' => 86, 'edition' => 1); $data[] = array('volume' => 85, 'edition' => 6); $data[] = array('volume' => 98, 'edition' => 2); $data[] = array('volume' => 86, 'edition' => 6); $data[] = array('volume' => 67, 'edition' => 7); $type = array(); foreach ($data as $key => $value) { $type[] = $value['edition']; } array_multisort($type, SORT_ASC, $data); var_dump($data);
      최신 다운로드
      더>
      웹 효과
      웹사이트 소스 코드
      웹사이트 자료
      프론트엔드 템플릿
      회사 소개 부인 성명 Sitemap
      PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!