| | recherche d'un commande(si elle existe) | |
|
| Auteur | Message |
|---|
trididinus Bavard
Nombre de messages: 21 Date d'inscription: 14/05/2006
 | Sujet: recherche d'un commande(si elle existe) Mar 8 Aoû - 18:43 | |
| Voilà je voudrait trouver une certaine commande php. J'ai par exemple 3 nombres aléatoires et ma commande devrai trouver le plus petit de ces nombres. je ne sais pas si elle existe car je le connais pas. Sinon je peux faire en sorte qu'il compare chaque nombres mais bon, j'aimerais avoir la méthode la plus facile et la plus rapide. J'espere que vous pourrez m'aider. a+ |
|
 | |
------------------ Bavard
Nombre de messages: 49 Age: 27 Localisation: Paris Date d'inscription: 24/07/2006
 | Sujet: Re: recherche d'un commande(si elle existe) Mar 8 Aoû - 21:38 | |
| pas très dur à programmer : | Code: | toto($x, $y, $z){ if $x < $y{ if $x < $z{ return $x; else if $y < $z{ return $y; else return $z; } } } |
Je suis pas sûr de la syntaxe, ça fait assez longtemps que je n'ai pas développé en php mais le fonctionnement c'est ça.
Si maintenant tu veux faire une comparaison avec un nombre de variables variable (hé hé... hem), utilise un tableau et For._________________  |
|
 | |
trididinus Bavard
Nombre de messages: 21 Date d'inscription: 14/05/2006
 | Sujet: Re: recherche d'un commande(si elle existe) Mar 8 Aoû - 21:48 | |
| haha justement ce qu'il ne fallait pas. Oui je sais faire ca. mais bon voila je ne connais pas le nombre de nombres que j'aurai et je pense que j'en aurai beaucoup. Mais il y a surement une comande qui fait ce que je veux... |
|
 | |
------------------ Bavard
Nombre de messages: 49 Age: 27 Localisation: Paris Date d'inscription: 24/07/2006
 | Sujet: Re: recherche d'un commande(si elle existe) Mar 8 Aoû - 21:55 | |
| | Citation: | | Si maintenant tu veux faire une comparaison avec un nombre de variables variable (hé hé... hem), utilise un tableau et For. |
Utilise un tableau d'entiers.
Tu le parcours pour déterminer le plus petit :
| Code: | $min $tab[]
$min = $tab[0]
for ($i=1; i < $nbElement; $i++){ if tab[i] < $min{ $min = tab[i] } }
echo ("Voici le minimum : " . $min)
|
_________________  |
|
 | |
------------------ Bavard
Nombre de messages: 49 Age: 27 Localisation: Paris Date d'inscription: 24/07/2006
 | Sujet: Re: recherche d'un commande(si elle existe) Mar 8 Aoû - 22:03 | |
| Sinon y a bien une méthode en php : sort() qui trie ton tableau par ordre croissant de clé, l te suffit alors de prendre la valeur à l'indice 0, tu auras le min. (http://www.php.net/manual/fr/function.sort.php) MarGhost : Encore une fois essai d'éviter les double post je crois que c'est le dernier avertisement _________________  |
|
 | |
LLB Grand habitué
Nombre de messages: 310 Localisation: Paris, France Date d'inscription: 23/07/2005
 | Sujet: Re: recherche d'un commande(si elle existe) Mer 9 Aoû - 11:27 | |
| http://www.phpbuilder.com/manual/en/function.min.php| Syntax Error a écrit: | | pas très dur à programmer : | Sauf que ça, ça marche pas. ^^ (et pas uniquement à cause de la syntaxe).
| Syntax Error a écrit: | | Sinon y a bien une méthode en php : sort() qui trie ton tableau par ordre croissant de clé, l te suffit alors de prendre la valeur à l'indice 0, tu auras le min. |
C'est quand même dommage d'avoir une complexité n.log(n) et de modifier le tableau d'origine, juste pour avoir le min. |
|
 | |
------------------ Bavard
Nombre de messages: 49 Age: 27 Localisation: Paris Date d'inscription: 24/07/2006
 | |
 | |
LLB Grand habitué
Nombre de messages: 310 Localisation: Paris, France Date d'inscription: 23/07/2005
 | Sujet: Re: recherche d'un commande(si elle existe) Jeu 10 Aoû - 9:08 | |
| Ben, il suffit de lire le code pour s'en rendre compte : il manque des "else". Du coup, certains cas ne sont pas gérés ($x > $y)... je suis sûr que c'est une simple étourderie, mais c'est pour montrer que ce genre de méthode (essayer de lister tous les cas) est souvent mauvais : une erreur est vite arrivée, et en plus on perd beaucoup en flexibilité. |
|
 | |
naholyr Langue pendue
Nombre de messages: 97 Date d'inscription: 08/06/2006
 | Sujet: Re: recherche d'un commande(si elle existe) Jeu 10 Aoû - 11:18 | |
| Comme je sens bien que vous n'avez pas compris la réponse de LLB, pour trouver le minimum d'un nombre quelconque d'éléments, il suffit de les mettre dans un tableau et de sortir min($tableau). Sinon, pour la culture, voici un moyen de recoder cette fonction | Code: | function array_min($array) { if (count($array) == 0) { return false; } $min = $array[0]; foreach ($array as $value) { if ($value < $min) { $min = $value; } } return $min; } |
|
|
 | |
trididinus Bavard
Nombre de messages: 21 Date d'inscription: 14/05/2006
 | Sujet: Re: recherche d'un commande(si elle existe) Jeu 10 Aoû - 16:54 | |
| Merci à tous pour toutes ces réponses. Je n'ai pas encore eu besoin d'utiliser la fonction, je m'y suis pris autrement dans mon script. Sinon ca peut toujours être utile. Merci bien |
|
 | |
| | recherche d'un commande(si elle existe) | |
|