Afficher les nombres qui sont égales au ratio
Résolu/Fermé
Anonyme1234_7288
Messages postés
64
Date d'inscription
samedi 14 mars 2020
Statut
Membre
Dernière intervention
8 avril 2021
-
15 mars 2020 à 00:47
Anonyme1234_7288 Messages postés 64 Date d'inscription samedi 14 mars 2020 Statut Membre Dernière intervention 8 avril 2021 - 17 mars 2020 à 00:33
Anonyme1234_7288 Messages postés 64 Date d'inscription samedi 14 mars 2020 Statut Membre Dernière intervention 8 avril 2021 - 17 mars 2020 à 00:33
A voir également:
- Afficher les nombres qui sont égales au ratio
- Afficher mot de passe wifi android - Guide
- Afficher appdata - Guide
- Afficher les commentaires word - Guide
- Excel afficher 0 avant nombre - Guide
- Afficher les modifications word - Guide
4 réponses
jordane45
Messages postés
38289
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 novembre 2024
4 703
15 mars 2020 à 06:41
15 mars 2020 à 06:41
Bonjour,
Ceci correspondrai à tes besoins ?
Ceci correspondrai à tes besoins ?
<?php //Fonctions function getClosest($search, $arr) { $closest = null; foreach ($arr as $item) { if ($closest === null || abs($search - $closest) > abs($item - $search)) { $closest = $item; } } return $closest; } //Début des tableaux utilisés pour calculer toute les possibilités de ratio possible $gear1 = [1, 2, 3]; $gear2 = [1, 2, 3]; $gear3 = [1, 2, 3]; $gear4 = [1, 2, 3]; $recherche = 0.41666666666666; $resultats = array(); $debug = array(); foreach($gear4 as $k4=>$v4){ foreach($gear3 as $k3=>$v3){ foreach($gear2 as $k2=>$v2){ foreach($gear1 as $k1=>$v1){ $calc = ($v1/$v2)*($v3/$v4); $resultats [] = $calc; $debug[] = array('calc'=>$calc,'valeurs'=>array($v1,$v2,$v3,$v4)); } } } } sort($resultats); $valPlusProche = getClosest($recherche,$resultats); echo "<br> Valeur cherchée : " . $recherche; echo "<br>Plus proche résultat : " . $valPlusProche; echo"<pre>"; print_r($debug); echo"</pre>";
Anonyme1234_7288
Messages postés
64
Date d'inscription
samedi 14 mars 2020
Statut
Membre
Dernière intervention
8 avril 2021
Modifié le 15 mars 2020 à 18:28
Modifié le 15 mars 2020 à 18:28
Bonjour,
Ceci répond exactement à mes besoins, par contre, dans mes tableaux $gear, je ne vais pas seulement avoir trois valeur, je vais en avoir 125, donc est-ce qu'il y a des modification à faire ou non? De plus, je sais qu'il y a une limite dans les tableaux en PHP, donc est-ce qu'il y aura un impact ou non?
Merci
Ceci répond exactement à mes besoins, par contre, dans mes tableaux $gear, je ne vais pas seulement avoir trois valeur, je vais en avoir 125, donc est-ce qu'il y a des modification à faire ou non? De plus, je sais qu'il y a une limite dans les tableaux en PHP, donc est-ce qu'il y aura un impact ou non?
Merci
Anonyme1234_7288
Messages postés
64
Date d'inscription
samedi 14 mars 2020
Statut
Membre
Dernière intervention
8 avril 2021
15 mars 2020 à 18:30
15 mars 2020 à 18:30
Bonjour,
Ceci répond exactement à mes besoins, par contre, dans mes tableaux $gear, je ne vais pas seulement avoir trois valeur, je vais en avoir 125, donc est-ce qu'il y a des modification à faire ou non? De plus, je sais qu'il y a une limite dans les tableaux en PHP, donc est-ce qu'il y aura un impact ou non?
Merci
Ceci répond exactement à mes besoins, par contre, dans mes tableaux $gear, je ne vais pas seulement avoir trois valeur, je vais en avoir 125, donc est-ce qu'il y a des modification à faire ou non? De plus, je sais qu'il y a une limite dans les tableaux en PHP, donc est-ce qu'il y aura un impact ou non?
Merci
Anonyme1234_7288
Messages postés
64
Date d'inscription
samedi 14 mars 2020
Statut
Membre
Dernière intervention
8 avril 2021
17 mars 2020 à 00:33
17 mars 2020 à 00:33
Quelqu'un pourrait m'aider?
Il me marque une erreur disant que le tableau $debug est trop chargé.
Voici mon nouveau code :
Il me marque une erreur disant que le tableau $debug est trop chargé.
Voici mon nouveau code :
<?php //Début de la fonction pour trouver le ratio le plus proche function getClosest($search, $arr) { $closest = null; foreach ($arr as $item) { if ($closest === null || abs($search - $closest) > abs($item - $search)) { $closest = $item; } } return $closest; } //Fin de la fonction pour trouver le ratio le plus proche //Début des tableaux $gear1 = [20, 20, 22, 23, 24, 24, 25, 26, 26, 29, 29, 30, 30, 31, 32, 33, 34, 35, 36, 36, 36, 36, 37, 39, 40, 41, 42, 43, 44, 45, 45, 46, 46, 47, 48, 48, 49, 50, 50, 51, 52, 53, 55, 55, 56, 57, 58, 59, 60, 60, 61, 62, 63, 65, 66, 67, 69, 70, 71, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, 83, 85, 87, 89, 89, 90, 91, 92, 93, 93, 95, 97, 98, 99, 100, 101, 103, 103, 107, 109, 111, 113]; $gear2 = [20, 20, 22, 23, 24, 24, 25, 26, 26, 29, 29, 30, 30, 31, 32, 33, 34, 35, 36, 36, 36, 36, 37, 39, 40, 41, 42, 43, 44, 45, 45, 46, 46, 47, 48, 48, 49, 50, 50, 51, 52, 53, 55, 55, 56, 57, 58, 59, 60, 60, 61, 62, 63, 65, 66, 67, 69, 70, 71, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, 83, 85, 87, 89, 89, 90, 91, 92, 93, 93, 95, 97, 98, 99, 100, 101, 103, 103, 107, 109, 111, 113]; $gear3 = [20, 20, 22, 23, 24, 24, 25, 26, 26, 29, 29, 30, 30, 31, 32, 33, 34, 35, 36, 36, 36, 36, 37, 39, 40, 41, 42, 43, 44, 45, 45, 46, 46, 47, 48, 48, 49, 50, 50, 51, 52, 53, 55, 55, 56, 57, 58, 59, 60, 60, 61, 62, 63, 65, 66, 67, 69, 70, 71, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, 83, 85, 87, 89, 89, 90, 91, 92, 93, 93, 95, 97, 98, 99, 100, 101, 103, 103, 107, 109, 111, 113]; $gear4 = [20, 20, 22, 23, 24, 24, 25, 26, 26, 29, 29, 30, 30, 31, 32, 33, 34, 35, 36, 36, 36, 36, 37, 39, 40, 41, 42, 43, 44, 45, 45, 46, 46, 47, 48, 48, 49, 50, 50, 51, 52, 53, 55, 55, 56, 57, 58, 59, 60, 60, 61, 62, 63, 65, 66, 67, 69, 70, 71, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, 83, 85, 87, 89, 89, 90, 91, 92, 93, 93, 95, 97, 98, 99, 100, 101, 103, 103, 107, 109, 111, 113]; //Fin des tableaux //Début de la variable où est logé le nombre recherché $recherche = 0.44444444444444 ; //Fin de la variable où est logé le nombre recherché //Début des calculs des ratios $resultats = array(); $debug = array(); foreach($gear4 as $k4=>$v4){ foreach($gear3 as $k3=>$v3){ foreach($gear2 as $k2=>$v2){ foreach($gear1 as $k1=>$v1){ $calc = ($v1/$v2)*($v3/$v4); $resultats [] = $calc; $debug[] = array('calc'=>$calc, 'valeurs'=>array($v1,$v2,$v3,$v4)); } } } } //Fin des calculs des ratios //Début affichage du nombre rechercher et du nombre le plus proche du nombre rechercher sort($resultats); $valPlusProche = getClosest($recherche,$resultats); echo "<br> Valeur cherchée : " . $recherche; echo "<br>Plus proche résultat : " . $valPlusProche; //Fin affichage du nombre rechercher et du nombre le plus proche du nombre rechercher echo"<pre>"; //Début affichage du tableau echo "\n"; echo"</pre>"; //Fin affichage du tableau ?>