Maison >développement back-end >Problème PHP >Comment trouver la plus petite valeur d'un tableau qui n'est pas inférieure à une valeur donnée en PHP

Comment trouver la plus petite valeur d'un tableau qui n'est pas inférieure à une valeur donnée en PHP

PHPz
PHPzoriginal
2023-04-06 09:14:48831parcourir

PHP fournit des fonctions utiles pour trouver la plus petite valeur d'un tableau qui n'est pas inférieure à une valeur donnée. Dans cet article, nous examinerons l'utilisation des fonctions intégrées de PHP pour trouver la plus petite valeur d'un tableau qui n'est pas inférieure à une valeur donnée, ainsi que d'autres façons de le faire en écrivant nos propres fonctions.

1. Utiliser les fonctions intégrées de PHP

PHP fournit plusieurs fonctions intégrées pour trouver la valeur minimale dans un tableau qui n'est pas inférieure à la valeur spécifiée. Ces fonctions sont :

  1. min() : Rechercher le minimum. valeur dans le tableau
  2. array_filter() : filtrez le tableau à l'aide d'une fonction de rappel distincte
  3. array_reduce() : utilisez la fonction de rappel pour parcourir le tableau et renvoyer une valeur

Ci-dessous, nous expliquerons l'utilisation de ces fonctions et leur mise en œuvre plus en détail.

1. Fonction min()

La fonction min() peut trouver la valeur minimale dans le tableau. Passez simplement le tableau en paramètre comme indiqué ci-dessous :

<?php 
$arr = array(3, 7, 1, 8, 2, 9, 4, 6, 5); 
$minValue = min($arr); 
echo "The minimum value in the array is: " . $minValue; 
?>

Dans le code ci-dessus, nous utilisons la fonction min() pour trouver la valeur minimale dans le tableau $arr et stocker le résultat dans la variable $minValue. Enfin, nous affichons la valeur minimale trouvée.

Si nous voulons trouver la valeur minimale dans le tableau qui n'est pas inférieure à une valeur donnée, il suffit de filtrer le tableau à l'aide de la fonction array_filter() puis d'utiliser la fonction min() pour trouver la valeur minimale comme suit :

<?php 
$arr = array(3, 7, 1, 8, 2, 9, 4, 6, 5); 
$value = 5; 
$filteredArray = array_filter($arr, function($element) use($value){ 
    return $element >= $value; 
}); 
$minValue = min($filteredArray); 
echo "The minimum value in the array that is not less than $value is: " . $minValue; 
?>

dans ce qui précède Dans le code, nous utilisons la fonction array_filter() pour filtrer le tableau sous la forme d'une fonction anonyme. La fonction anonyme renverra tous les éléments qui ne sont pas inférieurs à 5. Ensuite, nous utilisons la fonction min() pour trouver la valeur minimale dans le tableau $filteredArray et afficher le résultat.

2. Fonction array_reduce() La fonction

array_reduce() est utilisée pour parcourir le tableau via la fonction de rappel et renvoyer une valeur. Nous pouvons utiliser la fonction array_reduce() pour implémenter un algorithme basé sur un tableau pour trouver la valeur minimale. Voici un exemple d'utilisation de la fonction array_reduce() pour trouver la plus petite valeur d'un tableau qui n'est pas inférieure à une valeur donnée, similaire à l'exemple ci-dessus :

<?php 
$arr = array(3, 7, 1, 8, 2, 9, 4, 6, 5); 
$value = 5; 
$filteredArray = array_filter($arr, function($element) use($value){ 
    return $element >= $value; 
}); 
$minValue = array_reduce($filteredArray, function($accumulator, $element){ 
    if ($accumulator === null || $element < $accumulator) {
        return $element; 
    }
    return $accumulator;
}, null); 
echo "The minimum value in the array that is not less than $value is: " . $minValue; 
?>

Dans le code ci-dessus, nous utilisons une fonction anonyme pour filtrer le array et utilisez la fonction array_reduce () pour parcourir le tableau filtré. Cette fonction anonyme est utilisée lors de l'itération pour comparer la valeur minimale précédemment trouvée et renvoyer une nouvelle valeur minimale.

Deuxièmement, résolvez le problème en écrivant votre propre fonction

Nous pouvons également écrire notre propre fonction pour trouver la valeur minimale dans le tableau qui n'est pas inférieure à une valeur donnée. L'idée principale des deux méthodes est de parcourir le tableau et de comparer chaque élément pour déterminer si la condition est remplie. Ci-dessous, nous présenterons deux méthodes :

1. Utilisez la boucle foreach pour implémenter

Nous pouvons utiliser la boucle foreach pour parcourir le tableau et utiliser une variable pour suivre la valeur minimale, comme indiqué ci-dessous :

<?php 
function findMinValue($arr, $value){ 
    $minValue = null;
    foreach($arr as $element) {
        if ($element >= $value && ($minValue === null || $element < $minValue)) { 
            $minValue = $element; 
        }
    }
    return $minValue; 
}
?>

Dans le code ci-dessus, nous définir Une fonction appelée findMinValue() est utilisée pour trouver la plus petite valeur d'un tableau qui n'est pas inférieure à une valeur donnée. Dans la boucle foreach, nous utilisons l'instruction if pour comparer chaque élément et mettre à jour la variable contenant le plus petit élément.

2. Implémentez en utilisant la boucle while

Une autre façon de trouver la valeur minimale qui n'est pas inférieure à une valeur spécifiée consiste à utiliser une boucle while, comme indiqué ci-dessous :

<?php 
function findMinValue($arr, $value){ 
    $i = 0;
    $n = count($arr); 
    $minValue = null; 
    while($i < $n) {
        if ($arr[$i] >= $value && ($minValue === null || $arr[$i] < $minValue)) { 
            $minValue = $arr[$i]; 
        }
        ++$i;
    }
    return $minValue; 
}
?>

Contrairement à l'exemple précédent, cet exemple utilise une boucle while. pour parcourir les éléments du tableau, tous les éléments et met à jour la variable contenant le plus petit élément.

Conclusion

Dans cet article, nous avons présenté plusieurs façons de trouver la plus petite valeur d'un tableau qui n'est pas inférieure à une valeur donnée en PHP. Nous pouvons utiliser les fonctions intégrées PHP min(), array_filter() ou array_reduce() ou nous pouvons écrire nos propres fonctions, par exemple en utilisant une boucle foreach ou while. En résumé, lors de l'écriture d'applications PHP, trouver la plus petite valeur dans un tableau qui n'est pas inférieure à une valeur spécifiée peut être une activité courante, et nous pouvons utiliser l'une des méthodes ci-dessus pour y parvenir.

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