Maison >développement back-end >tutoriel php >PHP trie le tableau en fonction de la taille d'une certaine valeur clé

PHP trie le tableau en fonction de la taille d'une certaine valeur clé

小云云
小云云original
2018-03-14 09:16:242569parcourir

Cet article présente principalement la méthode PHP pour trier en fonction de la taille d'une certaine valeur clé du tableau, impliquant les compétences opérationnelles de PHP pour la traversée de tableaux, le tri et d'autres opérations connexes. Les amis qui en ont besoin peuvent s'y référer. j'espère que cela pourra vous aider.

Problème : Trier par valeur clé d'un tableau donné

Solution :


//$a是排序数组,$b是要排序的数据集合,$result是最终结果
$b = array(
  array('name'=>'北京','nums'=>'200'),
  array('name'=>'上海','nums'=>'80'),
  array('name'=>'广州','nums'=>'150'),
  array('name'=>'深圳','nums'=>'70')
  );
$a = array();
foreach($b as $key=>$val){
  $a[] = $val['nums'];//这里要注意$val['nums']不能为空,不然后面会出问题
}
//$a先排序
rsort($a);
$a = array_flip($a);
$result = array();
foreach($b as $k=>$v){
  $temp1 = $v['nums'];
  $temp2 = $a[$temp1];
  $result[$temp2] = $v;
}
//这里还要把$result进行排序,健的位置不对
ksort($result);
//然后就是你想看到的结果了
var_dump($result);

Résultats d'exécution :


array(4) {
 [0]=>
 array(2) {
  ["name"]=>
  string(4) "北京"
  ["nums"]=>
  string(3) "200"
 }
 [1]=>
 array(2) {
  ["name"]=>
  string(4) "广州"
  ["nums"]=>
  string(3) "150"
 }
 [2]=>
 array(2) {
  ["name"]=>
  string(4) "上海"
  ["nums"]=>
  string(2) "80"
 }
 [3]=>
 array(2) {
  ["name"]=>
  string(4) "深圳"
  ["nums"]=>
  string(2) "70"
 }
}

Recommandations associées :

Exemples de méthodes d'implémentation de tri couramment utilisées en php

Explication détaillée des méthodes de bulle php, de sélection, d'insertion et de tri rapide

implémentations php plusieurs algorithmes de tri courants

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn