Formule pour trouver le chiffre le plus proche dans un tableau

Résolu/Fermé
Anonyme1234_7288 Messages postés 65 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 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 - 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 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476
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 65 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 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476 > Anonyme1234_7288 Messages postés 65 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 65 Date d'inscription samedi 14 mars 2020 Statut Membre Dernière intervention 8 avril 2021 > yg_be Messages postés 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024
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 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476 > Anonyme1234_7288 Messages postés 65 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