php

Gebruik van de functie usort() in PHP

Gebruik van de functie usort() in PHP
Er zijn veel ingebouwde functies in PHP om de arrayvariabelen te sorteren. usort() functie is er een van. Deze functie sorteert de array met behulp van een door de gebruiker gedefinieerde callback-functie. Wanneer de array een bepaald type gegevens bevat dat niet op een standaard manier kan worden gesorteerd met behulp van andere sorteerfuncties, dan is usort() beter te gebruiken. Als de array bijvoorbeeld gegevenswaarden bevat, kan de variëteit niet op de juiste manier worden gesorteerd met behulp van andere sorteerfuncties van PHP. Dit type verzameling kan worden gesorteerd door de juiste door de gebruiker gedefinieerde functie te definiëren die wordt aangeroepen in het tweede argument van de functie usort() hoe de functie usort() de specifieke arraywaarden kan sorteren die in deze zelfstudie worden getoond.

Syntaxis:

De syntaxis van de functie usort() wordt hieronder gegeven:.

Boolean usort( array $array, callback())

Deze functie heeft twee argumenten:. Beide argumenten zijn verplicht. Het eerste argument neemt de array die zal worden gesorteerd. De functie callback() vergelijkt de waarden van de array om de array te sorteren en retourneert een numerieke waarde. Als de argumenten van de functie callback() gelijk zijn, retourneert de functie 0. Als het eerste argument van de functie callback() groter is dan het tweede argument, wordt 1 . geretourneerd. Als het eerste argument van de functie callback() kleiner is dan het tweede argument, wordt -1 . geretourneerd. usort() functie retourneert true voor succesvolle sortering en retourneert false voor mislukte sortering. Sommige toepassingen van deze functie zijn weergegeven in het volgende deel van deze tutorial.

Voorbeeld-1: Sorteer een array van datumwaarden

Het volgende voorbeeld laat zien hoe een array van datumwaarden correct kan worden gesorteerd met de functie usort()(. Maak een PHP-bestand met het volgende script:. $date_array is gedefinieerd met vijf-datum waarden. sort_date() functie wordt gedeclareerd als callback-functie om de . te sorteren $date_array. De matrixwaarden worden afgedrukt voordat de functie usort() wordt aangeroepen. Wanneer de functie usort() wordt aangeroepen met de array en de callback-functie, worden twee datumwaarden omgezet in tijdstempelwaarden met behulp van de functie strtotime(). Als de twee tijdstempelwaarden gelijk zijn, retourneert de functie 0. Als de eerste tijdstempelwaarde groter is dan de tweede tijdstempelwaarde, retourneert de functie 1. Als de eerste tijdstempelwaarde lager is dan de tweede tijdstempelwaarde, retourneert de functie -1. usort() functie zal de callback-functie meerdere keren aanroepen totdat de $date_array is goed gesorteerd. Vervolgens wordt de gesorteerde array afgedrukt met de voor elk lus.

// Definieer de callback-functie
functie sort_date($a, $b)
return strtotime($a) - strtotime($b);

//Declareer de reeks datumwaarden
$date_array = array('25-03-2020', '14-03-2020', '28-02-2015', '09-12-2017', '20-09-2015');
//Druk de matrixwaarden af ​​voordat u sorteert
echo "

De waarden van de datumreeks:

";
foreach($date_array als $value)

echo $waarde."
";

//Sorteer de array met usort()
usort($date_array, "sort_date");
//Druk de array af na het sorteren
echo "

De uitvoer na het sorteren van de datumarray:

";
foreach($date_array als $value)

echo $waarde."
";

?>

Uitgang:

De volgende uitvoer zal verschijnen nadat het script vanaf de server is uitgevoerd:.

Voorbeeld-2: Sorteer een associatieve array

Het volgende voorbeeld laat zien hoe een associatieve array kan worden gesorteerd met de functie usort()(. Maak een PHP-bestand met het volgende script:. sort_names() functie wordt uitgeroepen tot een callback-functie om de array te sorteren op basis van de arraywaarden. De ternaire operator wordt gebruikt in de sort_names() functie om de waarden van de associatieve array te vergelijken. Als de twee waarden gelijk zijn, retourneert de callback-functie 0. Als de waarde van het eerste argument groter is dan de waarde van het tweede argument, retourneert de callback-functie 1. Als de eerste argumentwaarde kleiner is dan de tweede argumentwaarde, retourneert de callback-functie -1. usort() sorteert de array met behulp van de callback-functie en de gesorteerde array wordt afgedrukt met de voor elk lus.

//Definieer de functie om de associatieve array te sorteren
functie sort_names($a, $b)
retourneer $a == $b ? 0 : $a > $b ? 1 : -1;

// Definieer de associatieve array
$persons = array("1001"=>"Meera Ali", "1002"=>"Kabir Hossain", "1003"=>"Nurjahan Akter");
// Sorteer de array
usort($personen, "sort_names");
// Print de gesorteerde array
echo "De waarden van de gesorteerde array:
";
foreach($personen als $persoon)
echo $persoon. "
";
?>

Uitgang:

De volgende uitvoer zal verschijnen nadat het script vanaf de server is uitgevoerd:.

Voorbeeld-3: Sorteer een tweedimensionale array

Het volgende voorbeeld laat zien hoe een tweedimensionale array kan worden gesorteerd met de functie usort()(. Maak een PHP-bestand met het volgende script:. sort_array() functie wordt uitgeroepen tot een callback-functie om de array te sorteren op basis van de arraywaarden. De functie strcmp() wordt gebruikt in de callback-functie om de waarden van de array te vergelijken. Als de twee waarden gelijk zijn, retourneert de functie strcmp() 0. Als de waarde van het eerste argument groter is dan de waarde van het tweede argument, zal de functie strcmp() 1 . retourneren. Als de eerste argumentwaarde kleiner is dan de tweede argumentwaarde, dan zal de functie strcmp() -1 . retourneren. usort() sorteert de array met behulp van de callback-functie, en de structuur van de gesorteerde array wordt afgedrukt met de print_r() functie.

//Definieer functie om tweedimensionale array te sorteren
functie sort_array($a, $b)

return strcmp($a['a'], $b['a']);

// Declareer de tweedimensionale array
$animals = array(array ("a" => "Leeuw"), array ("a" => "Deer"), array ("a" => "Konijn"),array ("a" => "Aap "));
// Sorteer de array
usort($dieren, "sort_array");
// Print de gesorteerde array
echo "De matrixwaarden na usort():
";
print_r($dieren);
echo "
";
?>

Uitgang:

De volgende uitvoer zal verschijnen nadat het script vanaf de server is uitgevoerd:.

Conclusie:

usort() is een handige functie voor het sorteren van bepaalde soorten gegevens die de normale sorteerfuncties van PHP niet correct kunnen sorteren. De callback-functie van de functie usort() wordt gedefinieerd op basis van het soort waarden dat vereist is om te sorteren. Deze tutorial helpt de lezers om te weten hoe ze de functie usort() moeten gebruiken en toepassen in hun script op basis van de vereiste.

Hoe u uw gamesessie op Linux kunt vastleggen en streamen
In het verleden werd het spelen van games alleen als een hobby beschouwd, maar met de tijd zag de game-industrie een enorme groei in termen van techno...
Beste spellen om te spelen met handtracking
Oculus Quest introduceerde onlangs het geweldige idee van handtracking zonder controllers. Met een steeds toenemend aantal games en activiteiten die f...
OSD-overlay tonen in Linux-apps en -games op volledig scherm
Het spelen van games op volledig scherm of het gebruik van apps in de modus volledig scherm zonder afleiding kan u afsnijden van relevante systeeminfo...