Heim  >  Artikel  >  Backend-Entwicklung  >  Zweidimensionales PHP-Array, sortiert nach Schlüsselwert

Zweidimensionales PHP-Array, sortiert nach Schlüsselwert

不言
不言Original
2018-04-20 10:58:531755Durchsuche

Dieser Artikel stellt hauptsächlich die zweidimensionale Array-Sortierung nach Schlüsselwerten vor, die einen bestimmten Referenzwert hat. Jetzt kann ich ihn mit allen teilen, die ihn benötigen

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

array_multisort() in PHP kann verwendet werden, um mehrere Arrays gleichzeitig oder mehrdimensionale Arrays danach zu sortieren eine bestimmte Dimension oder mehrere Dimensionen sortieren. Die zugehörigen Schlüsselnamen bleiben unverändert, die numerischen Schlüsselnamen werden jedoch neu indiziert. Die Eingabearrays werden als Spalten einer Tabelle behandelt und nach Zeilen sortiert, wobei das erste Array das zu sortierende Hauptarray ist. Wenn beim Vergleich festgestellt wird, dass die Zeilen (Werte) im Array gleich sind, werden sie nach der Größe des entsprechenden Werts im nächsten Eingabearray usw. sortiert.

Wenn es sich bei dem zu sortierenden Array jedoch um ein zweidimensionales Array handelt, muss es nach dem Schlüsselwert des Arrays sortiert werden. Das folgende zweidimensionale Array muss beispielsweise entsprechend sortiert werden zum Sortierschlüsselnamen, dann kann array_multisort() nicht direkt implementiert werden:




[php]einfach anzeigenkopieren


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

gibt Folgendes aus:




[php ]einfach anzeigenkopieren


<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>  
)


Andere Fälle: http://www.cnblogs.com/dragonbad/p/6184568.html




[html]einfach anzeigenkopieren


  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二维数组去重的方法

Das obige ist der detaillierte Inhalt vonZweidimensionales PHP-Array, sortiert nach Schlüsselwert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn