Position actuelle: Accueil> Derniers articles> Combinaison commune de fonctions php ab () et min ()

Combinaison commune de fonctions php ab () et min ()

gitbox 2025-05-28

Fonction Introduction à ABS ()

La fonction ABS () renvoie la valeur absolue d'un nombre. Peu importe que le nombre atteint soit un numéro de point positif, négatif ou flottant, le résultat renvoyé est un nombre non négatif.

 <?php
echo abs(-5);    // Sortir 5
echo abs(3.14);  // Sortir 3.14
?>

Cette fonction est très utile lorsqu'il est nécessaire de gérer la distance, la différence ou l'erreur, car la valeur absolue ignore les directions positives et négatives et ne se soucie que de la taille numérique.

Introduction à la fonction min ()

La fonction min () est utilisée pour trouver la plus petite valeur à partir d'un ensemble de nombres. Il peut recevoir n'importe quel nombre de paramètres ou un tableau en entrée.

 <?php
echo min(4, 7, 1, 9);          // Sortir 1
echo min([10, 2, 8, 6]);       // Sortir 2
?>

Cette fonction simplifie la logique du code lorsqu'il est nécessaire de comparer plusieurs valeurs pour obtenir la valeur minimale.

Utilisez ABS () et Min () en conjonction

L'utilisation de ABS () et Min () en combinaison est généralement utilisée pour faire face à la comparaison de la distance ou des erreurs. Par exemple, si vous souhaitez trouver le nombre le plus proche d'une valeur de référence entre plusieurs nombres, nous pouvons d'abord calculer la distance absolue entre chaque nombre et la valeur de référence, puis utiliser la fonction min () pour déterminer la distance minimale.

Exemple: Trouvez le numéro le plus proche de la valeur de référence dans le tableau

 <?php
$base = 10;
$numbers = [7, 14, 20, 9, 11];

// Calculez la distance absolue entre chaque nombre et la valeur de référence
$distances = array_map(function($num) use ($base) {
    return abs($num - $base);
}, $numbers);

// Trouvez la distance minimale
$minDistance = min($distances);

// Trouvez le nombre le plus proche de la valeur de référence
foreach ($numbers as $num) {
    if (abs($num - $base) == $minDistance) {
        echo "Le plus proche de la ligne de base {$base} Le nombre est:{$num}";
        break;
    }
}
?>

Dans le code ci-dessus, nous utilisons ABS () pour calculer la distance de la valeur de référence, puis utilisons min () pour trouver la distance minimale, et finalement déterminer le nombre le plus proche de la valeur de référence.

Scénarios d'application courants

1. Comparaison de distance

Lorsque vous devez comparer la distance entre plusieurs points de coordonnées et points cibles, vous utilisez généralement ABS () pour calculer la valeur absolue de la différence, puis utilisez Min () pour trouver la distance la plus courte, qui convient aux scènes unidimensionnelles.

2. Portée limitée

Pendant le traitement des données, si vous souhaitez limiter une certaine valeur pour ne pas dépasser le seuil spécifié, vous pouvez utiliser ABS () pour calculer l'écart, puis sélectionner la plus petite valeur d'erreur via min () pour atteindre la limitation de la plage.

3. Comparaison des erreurs

Dans les calculs numériques et l'analyse des données expérimentales, il est souvent nécessaire de trouver la valeur mesurée avec la plus petite erreur. Utilisez d'abord ABS () pour trouver la valeur absolue de l'erreur, puis utilisez Min () pour déterminer l'erreur minimale.

4. Trier ou filtrer

En calculant l'espace absolu de chaque élément, puis en utilisant MIN () pour trouver rapidement l'élément optimal, et implémentez la logique de filtrage complexe avec d'autres fonctions.


Sur la base de l'introduction ci-dessus, vous pouvez constater que les fonctions ABS () et min () sont très flexibles, ce qui peut simplifier le code pour implémenter diverses opérations de comparaison et de restriction communes. Dans le développement quotidien de PHP, la pratique de l'utilisation coordonnée de ces deux fonctions peut efficacement améliorer la qualité du code et l'efficacité de l'exécution.

 <?php
// Exemples complets:Trouvez tous les éléments du tableau qui sont les plus proches de la valeur cible
$target = 50;
$arr = [48, 52, 47, 51, 49, 53];

// Calculer le tableau de distance
$distances = array_map(fn($v) => abs($v - $target), $arr);

// Trouvez la distance minimale
$minDist = min($distances);

// Filtrez tous les éléments dont la distance est égale à la distance minimale
$closest = array_filter($arr, fn($v) => abs($v - $target) === $minDist);

print_r($closest);
?>

De cette façon, vous pouvez non seulement trouver l'élément le plus proche de la valeur cible, mais également gérer plusieurs situations de la même distance.