Bagaimanakah usort() menyusun tatasusunan dua dimensi dalam tertib menurun?
弦知音
弦知音 2019-02-15 17:14:42
0
5
1256

Usort() Cara mengisih tatasusunan dua dimensi dalam tertib menurun

弦知音
弦知音

membalas semua(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>';


刘毅

Anda boleh merujuknya,

<?php

ujian fungsi($array=array(),$key='',$paixu=true){

$result=array();

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

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

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

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

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

}

kembalikan $result;

}

$data = array(

array('post_id'=>1,'title'=>'Cara belajar PHP dengan baik',' reply_num'=>582),

array('post_id'=>2,'title'=>'Ringkasan fungsi biasa untuk tatasusunan PHP','reply_num'=>182),

array('post_id' =>3,'title'=>'Ringkasan fungsi rentetan PHP biasa','reply_num'=>982),

);

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


echo "<pra>";

print_r($paixuhou);

?>

刘毅

Ia rsort(), anda menggunakan fungsi yang salah.

  • balas Abaikan nama kunci dan susun mengikut nilai, susun() tertib menaik, rsot() tertib menurun, usort() panggil balik, saya bertanya bagaimana untuk turun menggunakan kaedah panggil balik, bukan kerana fungsi itu digunakan secara salah.
    弦知音 pengarang 2019-02-16 08:51:08
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan