Maison  >  Article  >  développement back-end  >  Comment trouver les plus petits éléments d'un tableau en php

Comment trouver les plus petits éléments d'un tableau en php

青灯夜游
青灯夜游original
2022-10-17 19:02:031851parcourir

É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)".

Comment trouver les plus petits éléments d'un tableau en php

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(&#39;content-type:text/html;charset=utf-8&#39;);   
$arr=array(34,3,-1,-6,42,12,1);
echo "原数组:";
var_dump($arr);
asort($arr);
echo "升序排序后:";
var_dump($arr);
?>

Comment trouver les plus petits éléments dun tableau en php

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(&#39;content-type:text/html;charset=utf-8&#39;);   
$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);

?>

Comment trouver les plus petits éléments dun tableau en php

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 :

  • arr représente le tableau à intercepter.
  • start représente la position de départ (indice) de l'interception :
    • Si start est un nombre positif, l'interception se fait d'avant en arrière.
    • Si start est un nombre négatif, commencez à partir de la position - commencez par la fin de l'arr et interceptez de l'arrière vers l'avant. Par exemple, -2 signifie commencer de l’avant-dernier élément du tableau.
  • length est un paramètre facultatif, indiquant la longueur d'interception :
    • Si length est un nombre positif, il indique le nombre d'éléments interceptés
    • Si length est un nombre négatif, alors le fragment intercepté se terminera à une position ; longueur à partir de la fin du tableau ;
    • En cas d'omission, elle sera interceptée de la position de départ à la fin du tableau.
  • preserve_keys est un paramètre facultatif qui spécifie s'il faut conserver les noms de clés d'origine. La valeur par défaut est false, c'est-à-dire que s'il est défini sur true, les noms de clés d'origine seront conservés.

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);
?>

Comment trouver les plus petits éléments dun tableau en php

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);
?>

Comment trouver les plus petits éléments dun tableau en php

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);
?>

Comment trouver les plus petits éléments dun tableau en php

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn