Heim >Backend-Entwicklung >PHP-Tutorial >Wie sortiere ich Zeitstempel in einem Array unter Beibehaltung der Schlüsselnamen mit PHP?
Das Array kann über die Funktion uasort() sortiert werden, wobei seine Schlüsselnamen erhalten bleiben. Um nach Zeitstempeln zu sortieren, können Sie die benutzerdefinierte Vergleichsfunktion „compare_timestamps“ verwenden, die die Zeitstempelfelder in Elementen vergleicht. Im konkreten Fall werden mit dieser Vergleichsfunktion die Zeitstempel im Array sortiert, die Schlüsselnamen bleiben erhalten und das sortierte Array wird von klein nach groß ausgegeben.
Sortieren Sie ein Array nach Zeitstempel in PHP und behalten Sie dabei seine Schlüssel bei.
In PHP können wir die Funktion uasort()
verwenden, um ein Array zu sortieren und dabei den Namen seines Schlüssels beizubehalten. Dies ist die Syntax zum Sortieren eines Arrays: uasort()
函数对数组进行排序,同时保留其键名。这是排序数组的语法:
uasort($array, $sort_function);
其中,$array
是要排序的数组,$sort_function
是用户定义的比较函数。
排序比较函数
排序比较函数必须遵循特定的格式:
function sort_function(mixed $a, mixed $b): int
它需要接受两个参数,$a
和 $b
,这些参数代表要比较的数组元素。函数应该返回以下值:
-1
:如果 $a 应该排在 $b 之前。0
:如果 $a 和 $b 相等。1
:如果 $a 应该排在 $b 之后。基于时间戳排序
要基于时间戳对数组进行排序,我们可以使用以下排序比较函数:
function compare_timestamps(mixed $a, mixed $b): int { return $a['timestamp'] - $b['timestamp']; }
此函数比较数组元素中的 timestamp
$array = [ 'item1' => ['timestamp' => 1593475200], 'item2' => ['timestamp' => 1601260800], 'item3' => ['timestamp' => 1584230400], ]; uasort($array, 'compare_timestamps'); print_r($array);wobei
$array
das zu sortierende Array und $sort_function
die benutzerdefinierte Vergleichsfunktion ist. Sortiervergleichsfunktion
Die Sortiervergleichsfunktion muss einem bestimmten Format folgen:Array ( [item3] => Array ( [timestamp] => 1584230400 ) [item1] => Array ( [timestamp] => 1593475200 ) [item2] => Array ( [timestamp] => 1601260800 ) )Sie muss zwei Parameter akzeptieren,
$a
und $b
Parameter Stellt die zu vergleichenden Array-Elemente dar. Die Funktion sollte den folgenden Wert zurückgeben:
-1
: wenn $a vor $b stehen soll. 0
: Wenn $a und $b gleich sind. 1
: Wenn $a nach $b kommen soll. Zeitstempel im Array Elements-Code>-Feld und gibt den entsprechenden Wert zurück, um die Elemente in die richtige Reihenfolge zu bringen. 🎜🎜🎜 Praktisches Beispiel 🎜🎜🎜 Hier ist ein praktisches Beispiel für das Sortieren von Zeitstempeln in einem Array mithilfe unserer Sortierfunktion: 🎜rrreee🎜Ausgabe: 🎜rrreee🎜Wie Sie sehen können, wurde das Array in der Reihenfolge der Zeitstempel sortiert, wobei der Schlüsselname beibehalten wurde. 🎜
Das obige ist der detaillierte Inhalt vonWie sortiere ich Zeitstempel in einem Array unter Beibehaltung der Schlüsselnamen mit PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!