Maison >développement back-end >Problème PHP >Comment trouver les plus petits éléments d'un tableau en php
Étapes de mise en œuvre : 1. Utilisez la fonction asort() pour trier le tableau par ordre croissant par valeur clé. La syntaxe est "asort (tableau original)". Après le tri, les plus petits éléments sont concentrés au début du tableau ; 2. Utilisez la fonction array_slice() pour trier le tableau à partir de Coupez simplement les N plus petits éléments du début du tableau, la syntaxe est "array_slice(sorted array, 0, N)".
L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 8.1, ordinateur DELL G3
En PHP, vous pouvez utiliser la fonction asort() et la fonction array_slice() pour trouver les N éléments les plus petits du tableau.
Idée d'implémentation :
Réorganisez le tableau et triez les éléments du tableau par ordre croissant de petit à grand. (De cette façon, le plus petit élément se trouve au début du tableau)
Il suffit d'intercepter N éléments du tableau directement depuis le tableau kait.
Étapes de mise en œuvre :
1. Utilisez la fonction asort() pour trier le tableau par ordre croissant par valeur de clé
<?php header('content-type:text/html;charset=utf-8'); $arr=array(34,3,-1,-6,42,12,1); echo "原数组:"; var_dump($arr); asort($arr); echo "升序排序后:"; var_dump($arr); ?>
Vous pouvez voir qu'après le tri, le plus petit élément est à la fin du tableau Au début, il vous suffit d'intercepter le nombre spécifié si nécessaire.
Étape 2 : Utilisez la fonction array_slice() pour intercepter N éléments depuis le début du tableau
La fonction array_slice() est une fonction fournie par PHP pour intercepter les tableaux
Si vous souhaitez intercepter N éléments depuis le début de le tableau, définissez simplement le deuxième paramètre sur 0 et le troisième paramètre sur le nombre d'éléments N.
array_slice(排序后数组,0,N)
Exemple : Obtenez les 2, 3 et 4 plus petits éléments du tableau
<?php header('content-type:text/html;charset=utf-8'); $arr=array(34,3,-1,-6,42,12,1); echo "原数组:"; var_dump($arr); asort($arr); echo "升序排序后:"; var_dump($arr); echo "获取数组最小的2个元素:"; $result = array_slice($arr,0,2); //截取数组前2位的元素 var_dump($result); echo "获取数组最小的3个元素:"; $result = array_slice($arr,0,3); //截取数组前3位的元素 var_dump($result); echo "获取数组最小的4个元素:"; $result = array_slice($arr,0,4); //截取数组前3位的元素 var_dump($result); ?>
Connaissances approfondies : Introduction à la fonction
1 fonction asort()
asort(). La fonction triera le tableau associatif par ordre croissant en fonction des valeurs des clés et ne modifiera pas les noms de clés dans le tableau d'origine. La fonction
asort($array,$sortingtype)
asort() a deux paramètres : $array (obligatoire) et $sortingtype (peut être omis).
Parmi eux, le paramètre $sortingtype est utilisé pour définir le mode de tri de la fonction et spécifier comment comparer les éléments/éléments du tableau. La valeur par défaut est "SORT_REGULAR". Le paramètre
$sortingtype peut être défini sur les valeurs suivantes :
0 = SORT_REGULAR : compare les éléments du tableau normalement sans changer leur type (valeur par défaut)
1 = SORT_NUMERIC : traite les éléments du tableau comme des nombres ;
2 = SORT_STRING : traite les éléments du tableau comme des chaînes ;
3 = SORT_LOCALE_STRING : en fonction des paramètres régionaux actuels (peut être modifié par setlocale()), compare les éléments du tableau comme des chaînes.
4 = SORT_NATURAL : Semblable à natsort(), il trie les chaînes dans "l'ordre naturel" pour chaque élément du tableau. C'est nouveau dans PHP5.4.0.
5 = SORT_FLAG_CASE : Peut être combiné avec SORT_STRING ou SORT_NATURAL (opération sur bit OR), chaîne de tri insensible à la casse.
2. Fonction array_slice()
La fonction array_slice() peut extraire un fragment d'un tableau
array array_slice ( array $arr , int $start [, int $length = NULL [, bool $preserve_keys = false ]] )
Description du paramètre :
NOTE: Array_slice () ne modifiera pas le tableau d'origine
Example 1: Paramètre $ start
<?php header("Content-type:text/html;charset=utf-8"); $arr = array(10,12,20,25,24); echo "原数组:"; var_dump($arr); echo "截取的数组片段:"; $result = array_slice($arr,2); var_dump($result); $result = array_slice($arr,-2); var_dump($result); ?>
example 2: Paramètre $ la longueur
<?php header("Content-type:text/html;charset=utf-8"); $arr = array(10,12,20,25,24); echo "原数组:"; var_dump($arr); echo "截取的数组片段:"; $result = array_slice($arr,1,1); var_dump($result); $result = array_slice($arr,1,-1); var_dump($result); ?>
example 3: Paramètre $ Preserve
indique if Conserver le nom de clé d'origine. La valeur par défaut est false, ce qui signifie qu'elle ne sera pas conservée. Si elle est définie sur true, le nom de clé d'origine sera conservé.
<?php header("Content-type:text/html;charset=utf-8"); $arr = array(10,12,20,25,24); echo "原数组:"; var_dump($arr); echo "截取的数组片段:"; $result = array_slice($arr,1,1,true); var_dump($result); $result = array_slice($arr,1,-1,true); var_dump($result); ?>
Apprentissage recommandé : "Tutoriel vidéo PHP"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!