php 二维数组排序的两个例子

发布时间:2020-01-07编辑:脚本学堂
本文介绍下,php中二维数组排序的二个例子,都比较简单,正在学习php数组排序的朋友,可以作个参考,也是不错的。

分享一段代码,实现php中二维数组的排序。

代码:

<?php
/**
* 二维数组排序
* by www.jb200.com
*/
 $good = array();
 
 for($i = 0; $i<7 ; $i++ ){
     
     $good[$i]['price']  = rand(1,10000);
    $good[$i]['hot']    = rand(1,100);
     $good[$i]['follow'] = rand(1,1000);    
 
 }
 
 echo '<pre>';
 
print_r($good);

echo '</pre>';

$hot=array();
$follow=array();

foreach($good as $k=>$v){
    $hot[$k] = $v['hot'];
    $follow[$k] = $v['follow'];
}
 
//二维数组排序
//方法一,先按hot字段降序 ,再按follow降序
array_multisort($hot,SORT_DESC,$follow,SORT_DESC,$good);
echo '<pre>';
print_r($good);
echo '</pre>';

//方法二
function xx($a, $b)
{
    if ($a['price'] == $b['price']) {
        return ($a['hot'] < $b['hot']) ? 1 : -1; ;
    }
    return ($a['price'] < $b['price']) ? 1 : -1;
}

$a = array(
0=>array('price'=>123,'hot'=>34543),
1=>array('price'=>434,'hot'=>234),
2=>array('price'=>42,'hot'=>2232),
3=>array('price'=>42,'hot'=>235432),
4=>array('price'=>33443,'hot'=>12),
4=>array('price'=>434,'hot'=>1211),
);

usort($a, 'xx');
echo '<pre>';
print_r($a);
echo '</pre>';

>>> 更多内容,请查看 php数组排序方法大全 <<<