usort()怎麼對二維數組進行降序排列
弦知音
弦知音 2019-02-15 17:14:42
0
5
1235

usort()怎麼對二維陣列進行降序排列

弦知音
弦知音

全部回覆(3)
弦知音
$stu = [
    ['name'=>'周天子', 'grade'=>'99'],
    ['name'=>'汉高祖', 'grade'=>'73'],
    ['name'=>'秦始皇', 'grade'=>'95'],
];
//输出原始数组
echo var_export($stu, true),'<hr>';

//用户自定义回调来进行排序(降序)
usort($stu, function ($m, $n){
    return strcmp($n['grade'], $m['grade']);    // strcmp()函数 (本函数返回: 0 如果两个字符串相等, <0 如果 string1 小于 string2, >0 如果string1 大于 string2
});
//输出排序后的数组
echo var_export($stu, true),'<hr>';


#
刘毅

你可以參考一下,

<?php

function test($array=array(),$key='',$paixu=true){

# $result=array();

foreach($array as $k => $v){

$values[$k]= isset( $v[$key]) ? $v[$key] : '';

}

# unset($v);

$paixu ? asort($values ) : arsort($values);

foreach ($values as $k => $v){

$result[$k] = $array[ $k];

}

return $result;

}

$data = array(

array('post_id'=>1,'title'=>'如何學好PHP','reply_num'=>582),

array('post_id'=>2,'title '=>'PHP數組常用函數匯總','reply_num'=>182),

array('post_id'=>3,'title'=>'PHP字串常用函數匯總','reply_num'=>982),

);


# $paixuhou=test($data,'reply_num',true);

echo "<pre>";

print_r($paixuhou);

#?>

刘毅

是rsort(),你函數都用錯了。

  • 回覆 忽略鍵名依值排序, sort()升序,rsot() 降序,usort() 回呼, 我是問用回呼的方式怎麼降序,不是函數用錯了。
    弦知音 作者 2019-02-16 08:51:08
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!