Heim >Backend-Entwicklung >PHP-Tutorial >Einführung in die Methode zum Sortieren zweidimensionaler Arrays in PHP unter Beibehaltung der Schlüsselnamen (Codebeispiel)
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:
ee1e477732f941563dde11c19100b482 array( 'age' => 22, 'name' => '鸠摩智' ), 1007 => array( 'age' => 21, 'name' => '慕容复' ), 1004 => array( 'age' => 27, 'name' => '乔帮主' ) );
= array_column(, 'age'(, SORT_ASC, ();Aufmerksame Freunde werden sehen, dass der Schlüsselname zurückgesetzt wurde und der Schlüsselname bei 0 beginnt. Offensichtlich kann dies der Fall sein nicht das gewünschte Ergebnis sein. Wie kann der Schlüsselname unverändert bleiben? Schauen wir uns ein weiteres Beispiel an:
$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; }Hier können wir auch die Funktion arraySort vereinfachen, und das Ergebnis wird dasselbe sein:
/** * @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; }Aus den obigen Ergebnissen können wir sehen:
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!