


php array_map array_multisort verwaltet effizient die mehrdimensionale Array-Sortierung
Um mehrdimensionale Arrays zu sortieren, besteht der allgemeine Ansatz darin,
1 die sortierten Daten zu erhalten und sie in das Array $arrSort einzufügen. Der Schlüsselindex ist der Index des zu sortierenden Arrays, um die Eindeutigkeit sicherzustellen
2 Verwenden Sie die Sortierfunktion sort usw., um $arrSort zu sortieren. 3 Durchlaufen Sie $arrSort, ermitteln Sie die Daten des mehrdimensionalen Arrays gemäß seinem Index und rekonstruieren Sie das sortierte mehrdimensionale Array 🎜>Der Code lautet wie folgt:
Array
[0] => Array
(
[link] => test
[name] => test.rpm
[Typ] => Datei
[Größe] => 988,9 KB
[mtime] => 1185160178)
....
)
Ich habe eine Sortierfunktion gefunden im Internet vor langer Zeit. Effizient, aber sehr praktisch
_array_sort($arrFile, 1, 1);// Nach dem Namensfeld sortieren
_array_sort ($arrFile, 3, 1);//Nach Größe Feldsortierung/*
@records Zu sortierendes Array
@field Zu sortierendes Feld, beachten Sie, ob es eine Zahl ist
@ Vorwärts- oder Rückwärtsreihenfolge
*/
function _array_sort( $records, $field, $reverse, $defaultSortField = 0)
{
$uniqueSortId = 0;
$hash = array( );
$sortedRecords = array();
$indexedArray = array();
foreach( $records as $record)
{
$uniqueSortId++;
$recordStr = implode("|", $record)."|".$uniqueSortId;
}
$primarySortIndex = count($record);
$records = $recordArray;
foreach($records as $record)
$hash[$record[$primarySortIndex]] = $record[$field];
uasort($hash, "strnatcasecmp");
$hash = array_reverse($hash, true);
$valueCount = array_count_values($hash);
foreach($hash as $primaryKey => $value)
{
$indexedArray[] = $primaryKey;
foreach($hash as $primaryKey => $value)
{
$i++;
if($valueCount[$value] > 1)
foreach($records as $record)
{
if($primaryKey == $record[$ PrimarySortIndex])
{
$tempArr[$record[ $defaultSortField]."__".$i] = $record;
}
}
$index = array_search($primaryKey, $indexedArray);
if(($i == count($records)) || ($value != $hash[$indexedArray[$index+1]] ))
{
uksort($tempArr, "strnatcasecmp ");
$tempArr = array_reverse($tempArr);
foreach( $tempArr as $newRecs)
{
$sortedRecords [ ] = $newRecs;
$tempArr = array();
}
{
foreach($records as $record)
{
if($primaryKey == $record[$primarySortIndex])
$sortedRecords[] = $record;
break;
}
}
}
return $sortedRecords;
}
II Verwenden Sie array_map und array_mutisort, um
array_mutisor zu sortieren Führen Sie auch eine sekundäre oder tertiäre Sortierung basierend auf mehreren Werten durch. Eine Funktion kann nicht verglichen werden.
Der Code lautet wie folgt:
Verwenden Sie array_map, um das zu sortierende Array abzurufen
$arrField = array_map(create_function('$n', 'return $n["size" ];'), $arrFile);
III Abschlusstest
Mit 188 Daten Das Array wird 50 Mal getestet, um den Durchschnitt zu ermitteln
0,04269016 Name
0,04267142 Größe
0,001249 Name
0,00083924 Größe
Vielen Dank fürs Lesen. Wenn Sie weitere verwandte Inhalte erhalten möchten, achten Sie bitte auf die chinesische PHP-Website (www.php.cn)!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

