Formule pour trouver le chiffre le plus proche dans un tableau
Résolu
Anonyme1234_7288
Messages postés
66
Statut
Membre
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai un petit problème avec mon code pour trouver le chiffre le plus proche d'une valeur recherché dans un tableau.
Pourriez-vous m'aider à trouver où ça ne fonctionne pas?
Voici mon code :
Merci
J'ai un petit problème avec mon code pour trouver le chiffre le plus proche d'une valeur recherché dans un tableau.
Pourriez-vous m'aider à trouver où ça ne fonctionne pas?
Voici mon code :
<?php
function getClosest($search, $arr) {
$closest = null;
foreach ($arr as $item) {
if ($closest === null || abs($search - $closest) > abs($item - $search)) {
$closest = $item;
}
}
return $closest;
}
$recherche = 0.83333333333333;
$array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15];
$valPlusProche = getClosest($recherche,$array);
sort($array);
print_r($array);
echo "<br> Valeur cherchée : " . $recherche;
echo "<br>Plus proche résultat : " . $valPlusProche;
?>
Merci
1 réponse
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour, "ça ne fonctionne pas": peux-tu être plus factuel et plus précis?-
- C'est bizarre, ça marche. Mais j'ai un autre problème. J'aimerais affiché le tableau contenant les chiffres qui ont été utilisé pour calculer ce ratio. Comme par exemple, le programme va affiché :
[6540] => Array
(
[calc] => 0.94043887147335
[valeurs] => Array
(
[0] => 20
[1] => 29
[2] => 30
[3] => 22
)
)
[6542] => Array
(
[calc] => 1.0815047021944
[valeurs] => Array
(
[0] => 23
[1] => 29
[2] => 30
[3] => 22
)
)
Et etc...
Mais ce que j'aimerais qu'il m'affiche c'est par exemple pour le premier du tableau ci-dessus:
"Engrenage 20, 29, 30, 22"
Et pour le deuxième du tableau ci-dessus :
"Engrenage 23, 29, 30, 22"
Bref, je crois que tu as compris.
Si tu as des questions n'hésite pas
-