Comment usort() trie-t-il un tableau à deux dimensions par ordre décroissant ?
弦知音
弦知音 2019-02-15 17:14:42
0
5
1270

Usort() Comment trier un tableau à deux dimensions par ordre décroissant

弦知音
弦知音

répondre à tous(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>';


刘毅

Vous pouvez vous y référer,

<?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'=>'Comment apprendre PHP bien','answer_num'=>582),

array('post_id'=>2,'title'=>'Résumé des fonctions courantes pour les tableaux PHP','reply_num'=>182),

array('post_id' =>3,'title'=>'Résumé des fonctions de chaîne PHP courantes','reply_num'=>982),

);


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

echo "<pre>";

print_r($paixuhou);

?>

刘毅

C'est rsort(), vous avez utilisé la mauvaise fonction.

  • répondre Ignorez le nom de la clé et triez par valeur, ordre croissant sort(), ordre décroissant rsot(), rappel usort(), je demande comment descendre en utilisant la méthode de rappel, ce n'est pas que la fonction est mal utilisée.
    弦知音 auteur 2019-02-16 08:51:08
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal