Sélectionner un chiffre entre 2 bornes
15 messages
• Page 1 sur 1
- toto2525
- WRInaute occasionnel

- Messages: 349
- Inscription: 20 Sep 2007
Sélectionner un chiffre entre 2 bornes
Salut,
J'essaie de sélectionner un chiffre qui soit compris entre 2 bornes d'un tableau array mais j'ai quelques soucis, voici mon code :
Ca m'affiche ça :
0
1
5
10
20
50
100
200
300
400
Comment faire pour obtenir le chiffre 200 qui est inférieur à 125 ?
J'essaie de sélectionner un chiffre qui soit compris entre 2 bornes d'un tableau array mais j'ai quelques soucis, voici mon code :
- Code: Tout sélectionner
$mon_chiffre_test = "125";
$headers=array('0','1','5','10','20','50','100','200','300','400');
for($ib=0;$ib<sizeof($headers);$ib++){
if($headers[$ib]<=$mon_chiffre_test){echo "<b>".$headers[$ib]."</b>";}
else{echo "".$headers[$ib]."<br>";}
}
Ca m'affiche ça :
0
1
5
10
20
50
100
200
300
400
Comment faire pour obtenir le chiffre 200 qui est inférieur à 125 ?
-

ecocentric - WRInaute accro

- Messages: 3602
- Inscription: 10 Fév 2004
ya une fonction php de choix aléatoire il me semble
un truc style array_rand
un truc style array_rand
- chtipepere
- WRInaute occasionnel

- Messages: 496
- Inscription: 8 Jan 2004
Je m'auto-censure...
Ca peut peut-être t'aider ça :
Code exécuté :
125 est plus grand que 0
125 est plus grand que 1
125 est plus grand que 5
125 est plus grand que 10
125 est plus grand que 20
125 est plus grand que 50
125 est plus grand que 100
125 est compris entre 100 et 200
Ca peut peut-être t'aider ça :
- Code: Tout sélectionner
<?php
$mon_chiffre_test = 125; // le chiffre à tester
$headers = array(0, 1, 5, 10, 20, 50, 100, 200, 300, 400); // les tableau des "bornes"
for($i=0; $i < sizeof($headers); $i++) // on parcours le tableau
{
if($headers[$i] > $mon_chiffre_test)
{
// si la borne est plus que grande que le chiffre à tester
$borne_haute = $headers[$i]; // on récupère la borne actuelle, celle qui est suprérieur
$borne_basse = $headers[$i-1]; // on récupère la borne inférieure
echo $mon_chiffre_test.' est compris entre '.$borne_basse.' et '.$borne_haute;
break;
}
elseif($mon_chiffre_test > $headers[$i])
echo $mon_chiffre_test.' est plus grand que '.$headers[$i].'<br />';
}
?>
Code exécuté :
125 est plus grand que 0
125 est plus grand que 1
125 est plus grand que 5
125 est plus grand que 10
125 est plus grand que 20
125 est plus grand que 50
125 est plus grand que 100
125 est compris entre 100 et 200
- toto2525
- WRInaute occasionnel

- Messages: 349
- Inscription: 20 Sep 2007
Ok je n'ai pas été très clair
, je cherche à obtenir le chiffre dans le tableau array qui ne dépasse pas la valeur de ma variable $mon_chiffre_test ?
Dans le cas ou $mon_chiffre_test = 125 on devrait donc retourner le chiffre 200 car 100 est < à 125 mais 200 est > à 125.
Avec Mysql il y a BETWEEN qui fait ça mais en php ?
Dans le cas ou $mon_chiffre_test = 125 on devrait donc retourner le chiffre 200 car 100 est < à 125 mais 200 est > à 125.
Avec Mysql il y a BETWEEN qui fait ça mais en php ?
-

YoyoS - WRInaute accro

- Messages: 3835
- Inscription: 14 Sep 2006
T'es encore pas très clair
Donc tu veux obtenir le premier chiffre qui dépasse $mon_chiffre_test = 125 ? Soit 200 !!! Bref fais un gros effort la, parceque tu as essayé d'en faire un mais c'est pas encore ça
toto2525 a écrit: je cherche à obtenir le chiffre .. qui ne dépasse pas la valeur de ma variable $mon_chiffre_test ? (125 donc)
toto2525 a écrit:$mon_chiffre_test = 125 on devrait donc retourner le chiffre 200
Donc tu veux obtenir le premier chiffre qui dépasse $mon_chiffre_test = 125 ? Soit 200 !!! Bref fais un gros effort la, parceque tu as essayé d'en faire un mais c'est pas encore ça
-

2dm - WRInaute discret

- Messages: 205
- Inscription: 3 Sep 2002
Apparemment ce qu'il veut c'est juste trouver l'intervalle dans lequel se trouve sa valeur de test.
Le code de chtipepere va t'aider, mais tu dois faire gaffe aux cas ou ta valeur de test est hors limite (plus petite/grande que ta borne inférieure/supérieure).
Le code de chtipepere va t'aider, mais tu dois faire gaffe aux cas ou ta valeur de test est hors limite (plus petite/grande que ta borne inférieure/supérieure).
- toto2525
- WRInaute occasionnel

- Messages: 349
- Inscription: 20 Sep 2007
Ouais désolé YoyoS mais j'ai un QI très limité
En fait si je reformule mon problème je pourrais dire : je cherche la valeur du tableau array (la borne haute) qui soit juste inférieure à $mon_chiffre_test
Je veux juste la borne haute et pas les autres, dans le cas de $mon_chiffre_test = 125 on aurait en théorie comme résulats les chiffres 200, 300 et 400 mais je veux juste obtenir le premier soit 200 dans ce cas là.
En fait si je reformule mon problème je pourrais dire : je cherche la valeur du tableau array (la borne haute) qui soit juste inférieure à $mon_chiffre_test
Je veux juste la borne haute et pas les autres, dans le cas de $mon_chiffre_test = 125 on aurait en théorie comme résulats les chiffres 200, 300 et 400 mais je veux juste obtenir le premier soit 200 dans ce cas là.
-

2dm - WRInaute discret

- Messages: 205
- Inscription: 3 Sep 2002
Nan mais si avec tes valeurs, tu veux que ça te retournes 200, tu dois définir ce que tu cherches par :
Chtipepere t'as donné une solution quasiment complète.
Enfin, pour trouver ça dans un tableau trié, ca casse quand même pas 3 pattes à un canard.
je veux la plus petite valeur de mon tableau qui soit supérieure ou égale à ma valeur de test
Chtipepere t'as donné une solution quasiment complète.
Enfin, pour trouver ça dans un tableau trié, ca casse quand même pas 3 pattes à un canard.
- jeroen
- WRInaute passionné

- Messages: 2461
- Inscription: 30 Aoû 2002
- Code: Tout sélectionner
unset($result);$mon_chiffre_test = 125;
$headers=array('0','1','5','10','20','50','100','200','300','400');
foreach ($headers as $val) if($val>$mon_chiffre_test && !$result) $result=$val;
-

Bool - WRInaute passionné

- Messages: 1290
- Inscription: 26 Fév 2004
Histoire de chipoter, la même solution que jeroen mais avec un break pour éviter les tests et itérations superflus :
- Code: Tout sélectionner
$result = NULL;
$monChiffreTest = 125;
$headers = array( 0, 1, 5, 10, 20, 50, 100, 200, 300, 400 );
foreach ( $headers as $valeur )
if( $valeur > $monChiffreTest ) {
$result = $valeur;
break;
}
- toto2525
- WRInaute occasionnel

- Messages: 349
- Inscription: 20 Sep 2007
Merci à jeroen pour sa solution qui marche parfaitement et merci aux autres pour leur participation, leur compréhension (à mon égard, je suis un peu neuneu) et pour leur humour, ça permet de moins se prendre la tête, même si je n'ai pas bien compris la réponse de darksword qui nous dit :
Comment y va faire le caneton pour marcher avec une seule patte
Vous aurez ben faire tourner sa seule patte en boucle (une belle boucle while) c'est pas gagné de le faire avancer droit le petit poulet (heu pardon le caneton)...
Merci à darksword qui a parfaitement formulé la question de mon problème :
Allez grosses bises à vous toutes mes petites cailles.
...ca casse quand même pas 3 pattes à un canard.
Comment y va faire le caneton pour marcher avec une seule patte
Vous aurez ben faire tourner sa seule patte en boucle (une belle boucle while) c'est pas gagné de le faire avancer droit le petit poulet (heu pardon le caneton)...
Merci à darksword qui a parfaitement formulé la question de mon problème :
- Code: Tout sélectionner
je veux la plus petite valeur de mon tableau qui soit supérieure ou égale à ma valeur de test
Allez grosses bises à vous toutes mes petites cailles.
15 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Comment selectionner un chiffre mini et maxi d'une base?
- le chiffre 7, vos avis, votre impression sur ce chiffre
- Alors ca depasse les bornes. On marche sur la tete avec ggle
- sélectionner un F.A.I
- htaccess : sélectionner le hotlinking autorisé ?
- Trier et sélectionner les annonceurs
- Feedparser : Comment sélectionner une catégorie ?
- selectionner ou deselc. seulement un groupe de checkbox
- selectionner plusieurs tableau en meme temps
- Requete sql, sélectionner un champ vide
- Google compter lever entre 2 et 3 milliards de dollars - 26-07-2004
- 2 millions de serveurs dans les data centers Google ? - 31-10-2008
- Résultats financiers de Google T4 2008 : meilleurs que prévus - 23-01-2009
- Baidu, le Google chinois - 08-08-2005
- Google engrange 1 milliard de dollars de bénéfices au 1er trimestre 2007 ! - 20-04-2007
- Parts de marché des moteurs aux USA en août 2008 (comScore) - 19-09-2008
- Google n'indexe pas les URL qui se terminent par .0 ? - 13-06-2008
- Parts de marché des moteurs aux USA en novembre 2008 (comScore) - 24-12-2008
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

