Maison >développement back-end >tutoriel php >Comment trouver efficacement la valeur la plus proche dans un tableau ordonné ?
Trouver la valeur la plus proche dans un tableau
Dans le traitement des données, trouver la valeur correspondante la plus proche dans un tableau est souvent essentiel pour diverses applications. Étant donné une valeur cible et un tableau ordonné, comment localiser efficacement l'élément le plus proche de la cible ?
Solution :
Pour trouver la valeur la plus proche dans un tableau, nous pouvons parcourir chaque élément du tableau et calculer la différence entre la valeur cible et chaque élément. L'élément présentant la plus petite différence est la valeur correspondante la plus proche. Voici une fonction PHP pour cette tâche :
function getClosest($search, $arr) { $closest = null; foreach ($arr as $item) { if ($closest === null || abs($search - $closest) > abs($item - $search)) { $closest = $item; } } return $closest; }
Cette fonction prend deux paramètres : la valeur cible à rechercher et le tableau de nombres dans lequel rechercher. Il calcule la différence absolue entre la valeur cible et chaque élément du tableau. L'élément avec la plus petite différence absolue est stocké dans la variable $closest et finalement renvoyé comme résultat.
Utilisation :
Considérez le tableau suivant :
array(0, 5, 10, 11, 12, 20)
Lors d'une recherche avec une valeur cible de 0, la fonction renverra 0. Pour une valeur cible de 3, la fonction renverra 5. De même, pour un valeur cible de 14, la fonction renverra 12.
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!