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
$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);
[php ] voir en clair copier
<span style="font-family:tahoma, arial, '宋体';"><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> )
[html] voir en clair copier
$arr=[ array( 'name'=>'小坏龙', 'age'=>28 ), array( 'name'=>'小坏龙2', 'age'=>14 ), array( 'name'=>'小坏龙3', 'age'=>59 ), array( 'name'=>'小坏龙4', 'age'=>23 ), array( 'name'=>'小坏龙5', 'age'=>23 ), array( 'name'=>'小坏龙6', 'age'=>21 ), ];
array_multisort(array_column($arr,'age'),SORT_DESC,$arr);
print_r($arr);
其中 array_column(数组,数组中的某个键值) 从多维数组中取出某个键值的一列 返回一个一维数组;
array_multisort(数组(一维数组),排序方式(SOTR_ASC,SOTR_DESC),其他数组(可以是二维的))
相关推荐:
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!