Formule pour trouver le chiffre le plus proche dans un tableau

Résolu/Fermé
Anonyme1234_7288 Messages postés 64 Date d'inscription samedi 14 mars 2020 Statut Membre Dernière intervention 8 avril 2021 - 18 mars 2020 à 21:39
yg_be Messages postés 23487 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 10 mars 2025 - 19 mars 2020 à 08:43
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 :

<?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
A voir également:

1 réponse

yg_be Messages postés 23487 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 10 mars 2025 Ambassadeur 1 570
18 mars 2020 à 23:00
bonjour, "ça ne fonctionne pas": peux-tu être plus factuel et plus précis?
0
Anonyme1234_7288 Messages postés 64 Date d'inscription samedi 14 mars 2020 Statut Membre Dernière intervention 8 avril 2021
18 mars 2020 à 23:01
Et bien, le chiffre qu'il me donne, ce n'est pas le bon
0
yg_be Messages postés 23487 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 10 mars 2025 1 570 > Anonyme1234_7288 Messages postés 64 Date d'inscription samedi 14 mars 2020 Statut Membre Dernière intervention 8 avril 2021
18 mars 2020 à 23:20
quel chiffre te donne-t'il, et quel chiffre attends-tu?
0
Anonyme1234_7288 Messages postés 64 Date d'inscription samedi 14 mars 2020 Statut Membre Dernière intervention 8 avril 2021 > yg_be Messages postés 23487 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 10 mars 2025
19 mars 2020 à 01:11
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
0
yg_be Messages postés 23487 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 10 mars 2025 1 570 > Anonyme1234_7288 Messages postés 64 Date d'inscription samedi 14 mars 2020 Statut Membre Dernière intervention 8 avril 2021
19 mars 2020 à 08:43
je pense que tu peux réaliser cela en utilisant echo dans une boucle.
0