Maison > développement back-end > tutoriel php > Comment trouver la valeur la plus proche dans un tableau ?

Comment trouver la valeur la plus proche dans un tableau ?

DDD
Libérer: 2024-11-26 21:49:14
original
817 Les gens l'ont consulté

How to Find the Closest Value in an Array?

Correspondance de valeur la plus proche dans un tableau

Étant donné un tableau de valeurs et une valeur cible, une exigence courante est de récupérer la valeur correspondante la plus proche dans le tableau. Cela peut s'avérer particulièrement utile lorsqu'il s'agit de données imprécises ou lorsqu'une correspondance exacte n'est pas disponible.

Solution :

Pour déterminer la valeur correspondante la plus proche, un algorithme de recherche itératif peuvent être employés. Voici une fonction PHP qui implémente cette approche :

function getClosest($search, $arr) {
    $closest = null;
    foreach ($arr as $item) {
        if ($closest === null || abs($search - $closest) > abs($item - $search)) {
            $closest = $item;
        }
    }
    return $closest;
}
Copier après la connexion

Cette fonction fonctionne en comparant de manière itérative la valeur cible avec chaque élément du tableau. Il conserve une variable $closest pour suivre la valeur correspondante la plus proche rencontrée. Pour chaque comparaison, il calcule la différence absolue entre la cible et l'élément actuel du tableau. Si la différence est inférieure à la différence enregistrée précédemment, il met à jour la variable $closest.

Exemple :

En utilisant l'exemple de tableau fourni :

$array = [0, 5, 10, 11, 12, 20];
Copier après la connexion

Les recherches suivantes peuvent être effectuées :

  • getClosest(0, $array); // renvoie 0
  • getClosest(3, $array); // renvoie 5
  • getClosest(14, $array); // renvoie 12

En parcourant le tableau et en évaluant chaque élément, cet algorithme trouve efficacement la valeur correspondante la plus proche de la cible.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal