Dieser Artikel bietet Ihnen eine Einführung in die Methode zum Sortieren zweidimensionaler Arrays unter Beibehaltung der Schlüsselnamen (ich hoffe, dass er für Freunde in Not eine Referenz darstellt). wird Ihnen nützlich sein.
Um ein zweidimensionales Array nach dem angegebenen Schlüsselnamen zu sortieren, fällt mir als Erstes die Funktion array_multisort ein. Ich habe bereits einen Artikel über die Verwendung von array_multisort geschrieben. Schauen wir uns ein Beispiel an:
<?php $data = array( 1001 => array( 'age' => 22, 'name' => '鸠摩智' ), 1007 => array( 'age' => 21, 'name' => '慕容复' ), 1004 => array( 'age' => 27, 'name' => '乔帮主' ) );
= array_column(, 'age'(, SORT_ASC, ();
$data = array( => array( 'age' => 22, 'name' => '鸠摩智' ), => array( 'age' => 21, 'name' => '慕容复' ), => array( 'age' => 27, 'name' => '乔帮主' ) ); //根据字段age对数组$data进行降序排列 $data = arraySort($data, "age", "desc" ); print_r($data); /** * @desc arraySort php二维数组排序 按照指定的key 对数组进行自然排序 * @param array $arr 将要排序的数组 * @param string $keys 指定排序的key * @param string $type 排序类型 asc | desc * @return array */ function arraySort($arr, $keys, $type = 'asc') { $keysvalue = $new_array = array(); foreach ($arr as $k => $v) { $keysvalue[$k] = $v[$keys]; } if ($type == 'asc') { natsort($keysvalue); } if ($type == 'desc') { natsort($keysvalue); $keysvalue = array_reverse($keysvalue, TRUE); // 将原数组中的元素顺序翻转,如果第二个参数指定为 true,则元素的键名保持不变 } foreach ($keysvalue as $k => $v) { $new_array[$k] = $arr[$k]; } return $new_array; }
/** * @desc arraySort php二维数组排序 按照指定的key 对数组进行自然排序 * @param array $arr 将要排序的数组 * @param string $keys 指定排序的key * @param string $type 排序类型 asc | desc * @return array */ function arraySort($arr, $keys, $type = 'asc') { $keysvalue = $new_array = array(); foreach ($arr as $k => $v) { $keysvalue[$k] = $v[$keys]; } $type == 'asc' ? asort($keysvalue) : arsort($keysvalue); foreach ($keysvalue as $k => $v) { $new_array[$k] = $arr[$k]; } return $new_array; }
Wie Sie sehen können, verwenden wir hier hauptsächlich mehrere Kernsortierfunktionen von PHP
Hinweis: Im natürlichen Sortieralgorithmus ist die Zahl 2 kleiner als die Zahl 10. In Computer-Sortieralgorithmen ist 10 kleiner als 2, da die erste Zahl in „10“ kleiner als 2 ist.
Das obige ist der detaillierte Inhalt vonEinführung in die Methode zum Sortieren zweidimensionaler Arrays in PHP unter Beibehaltung der Schlüsselnamen (Codebeispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!