Renvoyer l'entier le plus proche d'une variable [Résolu]

Messages postés
303
Date d'inscription
samedi 22 octobre 2005
Dernière intervention
2 novembre 2008
- - Dernière réponse : iow4
Messages postés
303
Date d'inscription
samedi 22 octobre 2005
Dernière intervention
2 novembre 2008
- 6 oct. 2006 à 18:03
Bonjour,

J'ai un array :

<hr size="2" width="100%" />    $num_min = array(32,16,8,4,2,1);
<hr size="2" width="100%" />
Et j'ai une variable $a j'aimerais pouvoir renvoyer la plage de nombre dans lequel ça se situe plus precisement le premier chiffre

exemple pour 20 le chiffre qui m'interesse c'est 16.

J'espere que je suis assez claire
Merci & Bonne prog
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
3
Merci
Hello,

un truc dans le genre ?

<?php
function closerVal ($aTmp, $iCheck) {
    sort ($aTmp, SORT_NUMERIC);
    foreach ($aTmp as $iClef => $iVal) {
        if ($iVal > $iCheck) {
            if (isset ($aTmp[$iClef - 1]) && $aTmp[$iClef - 1] < $iCheck) {
                return $aTmp[$iClef - 1];
            } else {
                return $iVal;
            }
        }
    }
    return end ($aTmp);
}
$num_min = array(32,16,8,4,2,1);
$a = 20;
echo $b = closerVal ($num_min, $a);
?>

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 106 internautes ce mois-ci

Commenter la réponse de malalam
Messages postés
450
Date d'inscription
jeudi 26 août 2004
Dernière intervention
5 mars 2009
0
Merci
Pourrais-tu developper un peu plus ton probleme STP ? J'ai pas tout saisie... tu veux renvoyer une suite ou juste un entier ?

@+
Commenter la réponse de cs_jean84
Messages postés
303
Date d'inscription
samedi 22 octobre 2005
Dernière intervention
2 novembre 2008
0
Merci
Je veux renvoyer l'entier ( inferieur ) le plus proche de la variable $a
Commenter la réponse de iow4
Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Dernière intervention
13 septembre 2013
0
Merci
Salut!
Est ce que ca marche?

function getMin( $array, $a )
{
    $min = $array[ 0 ];
    $count = count( $array );

    for( $i = 1; $i < $count; $i++ )
       if( $array[$i] > $a && $array[$i] < $min )
          $min = $array[$i];

    return $min;
}

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
Commenter la réponse de coockiesch
Messages postés
303
Date d'inscription
samedi 22 octobre 2005
Dernière intervention
2 novembre 2008
0
Merci
Je te remercie 18466 coockiesch  mais ton code ne marche pas

=58031 malalam  merci de ton code ça marche niquel
Commenter la réponse de iow4
Messages postés
450
Date d'inscription
jeudi 26 août 2004
Dernière intervention
5 mars 2009
0
Merci
Tu prend ton tableau, tu fais un sort() dessus, tu le parcours avec un foreach() (histoire de faire simple) et quand tu obtiens une valeur plus grande que ce que tu cherches, tu arretes...

$A = 20;
$NumMin = array(32, 16, 8, 4, 2, 1);
foreach ( $NumMin as $Value )
{
    if ( $Value > $A ) {
       echo'Valeur inferieur la plus proche :', $A, '
';
       break;
    }
}
Remarque que sa te renvoi l'entier inferieur le plus proche. Tu peut ensuite le modifier pour qu'il te renvoi l'entier superieur le plus proche. Ensuite tu les sous-trait un avec ta valeur et tu regardes la valeur la plus petite que tu obtiens, sa sera celle que tu cherches !

@+
Commenter la réponse de cs_jean84
Messages postés
450
Date d'inscription
jeudi 26 août 2004
Dernière intervention
5 mars 2009
0
Merci
Arf le temps que j'ecrives, tout le monde a repondu :-(

@+
Commenter la réponse de cs_jean84
Messages postés
303
Date d'inscription
samedi 22 octobre 2005
Dernière intervention
2 novembre 2008
0
Merci
Je te remercie quand même
Sympa
Commenter la réponse de iow4

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.