Maison  >  Article  >  développement back-end  >  Tableau bidimensionnel PHP trié par valeur clé

Tableau bidimensionnel PHP trié par valeur clé

不言
不言original
2018-04-20 10:58:531755parcourir

Cet article présente principalement le tri des tableaux bidimensionnels PHP par valeur de clé, qui a une certaine valeur de référence. Maintenant, je le partage avec tout le monde. Les amis dans le besoin peuvent s'y référer

Source : http : // www.jb51.net/article/43787.htm

array_multisort() en PHP peut être utilisé pour trier plusieurs tableaux à la fois, ou pour trier des tableaux multidimensionnels en fonction une certaine dimension ou plusieurs dimensions. Les noms de clés associés restent inchangés, mais les noms de clés numériques sont réindexés. Les tableaux d'entrée sont traités comme des colonnes d'un tableau et triés par lignes, le premier tableau étant le tableau principal à trier. Si les lignes (valeurs) du tableau sont comparées comme étant identiques, elles sont triées en fonction de la taille de la valeur correspondante dans le tableau d'entrée suivant, et ainsi de suite.

Mais si le tableau qui doit être trié est un tableau à deux dimensions, il doit être trié en fonction de la valeur clé du tableau. Par exemple, le tableau à deux dimensions ci-dessous doit être trié en fonction. au nom de la clé de tri, alors array_multisort() ne peut pas être implémenté directement :




<.>[php] voir en clair copier


  1. $data[5] = array(&#39;volume&#39; => 67, &#39;edition&#39; => 2);  
    $data[4] = array(&#39;volume&#39; => 86, &#39;edition&#39; => 1);  
    $data[2] = array(&#39;volume&#39; => 85, &#39;edition&#39; => 6);  
    $data[3] = array(&#39;volume&#39; => 98, &#39;edition&#39; => 2);  
    $data[1] = array(&#39;volume&#39; => 86, &#39;edition&#39; => 6);  
    $data[6] = array(&#39;volume&#39; => 67, &#39;edition&#39; => 7);  
    // 准备要排序的数组  
    foreach ($data as $k => $v) {  
      $edition[] = $v[&#39;edition&#39;];  
    }  
    array_multisort($edition, SORT_ASC, $data);  
    print_r($data);
affichera :




[php ] voir en clair copier


<span style="font-family:tahoma, arial, &#39;宋体&#39;;"><span style="font-size:14px;line-height:20px;">Array  
(  
  [0] => Array  
    (  
      [volume] => 86  
      [edition] => 1  
    )  
  
  [1] => Array  
    (  
      [volume] => 67  
      [edition] => 2  
    )  
  
  [2] => Array  
    (  
      [volume] => 98  
      [edition] => 2  
    )  
  
  [3] => Array  
    (  
      [volume] => 85  
      [edition] => 6  
    )  
  
  [4] => Array  
    (  
      [volume] => 86  
      [edition] => 6  
    )  
  
  [5] => Array  
    (  
      [volume] => 67  
      [edition] => 7  
    )  
  
</span></span>  
)


Autres cas : http://www.cnblogs.com/ dragonbad/p/6184568.html




[html] voir en clair copier


  1. $arr=[  
        array(  
            &#39;name&#39;=>&#39;小坏龙&#39;,  
            &#39;age&#39;=>28  
        ),  
        array(  
            &#39;name&#39;=>&#39;小坏龙2&#39;,  
            &#39;age&#39;=>14  
        ),  
        array(  
            &#39;name&#39;=>&#39;小坏龙3&#39;,  
            &#39;age&#39;=>59  
        ),  
        array(  
            &#39;name&#39;=>&#39;小坏龙4&#39;,  
            &#39;age&#39;=>23  
        ),  
        array(  
            &#39;name&#39;=>&#39;小坏龙5&#39;,  
            &#39;age&#39;=>23  
        ),  
        array(  
            &#39;name&#39;=>&#39;小坏龙6&#39;,  
            &#39;age&#39;=>21  
        ),  
    ];


array_multisort(array_column($arr,'age'),SORT_DESC,$arr);
print_r($arr);
  其中  array_column(数组,数组中的某个键值)  从多维数组中取出某个键值的一列  返回一个一维数组;


array_multisort(数组(一维数组),排序方式(SOTR_ASC,SOTR_DESC),其他数组(可以是二维的))

相关推荐:

php二维数组去重的方法

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
Article précédent:cgi, fastcgi, php-cgi, php-fpmArticle suivant:cgi, fastcgi, php-cgi, php-fpm