php pour trouver la posistion d'un élément d'un tableau - Programmation
Marsh Posté le 31-10-2001 à 10:07:58
C'est pas forcément très efficace, mais tu peux déjà essayer de parcourir tout le tableau jusqu'à ce que tu trouves l'élément en question. Sa position est ensuite donnée immédiatement par les variables que tu as utilisées pour les boucles.
Marsh Posté le 31-10-2001 à 10:25:52
Ben generalement c la ùmethode c ca :
Parcourir le tableau a la recherche d'un element, bon apres bien sur y a differents methodes suivant le tableau.
Marsh Posté le 31-10-2001 à 10:31:36
c'est ce que j'ai fait mais y'a rien qui se passe ?
voici le code
$montablo=array("lundi","mardi","mercredi","jeudi" );
for($i=0;$i<count($montablo);$i=$i+1){
if($montablo[$i]==$saisie){
$x=$i+1;
echo "le jour suivant est $montablo[$x] ";
}
}
avec evidement un formulaire qui ramène ici la variable saisie depuis un select
Marsh Posté le 31-10-2001 à 10:32:16
la méthode la plus simple est de parcourir ton tableau élément par élément (boucle while) jusqu'à ce que tu trouves ce que tu cherches. Ton indeice est alors donné par la variable que tu incrémentes ds ta boucle.
maintenant, si ton tableau est ordonné, tu peux procéder par dichotomie (c bien ca le nom?): tu teste l'élément du milieu de ton tableau ( partie entière de (array.length/2)) si c plus êtit tu fais la même chose sur la moitié de de gauche, si c plus grand tu fais la même chose sur la moitié de droite, sinon t'as trouvé ta valeur. C un peu plus rapide, mais ca marche qu'avec les tableaux ordonnés
Marsh Posté le 31-10-2001 à 10:35:02
Putain ca me rappelle mes cours d'algo tout ca.
Moi je crois que c le bon terme.
Mais un while tout con suffit svt.
Ou un for si tu as plusieurs fois l'entrée.
Marsh Posté le 31-10-2001 à 10:36:15
c sur que pour un tableau à 5 entrées, faut pas se faire chi... à optimiser... le code barbare suffit
Marsh Posté le 31-10-2001 à 10:39:10
je veux savoir pourquoi ce code ne donne rien en résultat ?
pourtant il parait juste !!!!!
d'après mais test, la condition n'est pas remplie dans le if
et quand j'affiche le contenu de $saisie, j'ai bien un string contenant le choix du formulaire ????!!
Marsh Posté le 31-10-2001 à 10:40:57
Je viens de tester ton code et il marche chez moi.
Comment est remplie saisie ?
Marsh Posté le 31-10-2001 à 11:02:17
en faite le formulaire est bien réaliser puisque il peut m'afficher les valeurs saisie dans la page de traitement.
je peux faire un echo $saisie sans problème.
mais c'est lors du test dans la condition du if qu'il ne reconnait plus la variable $saisie
Marsh Posté le 31-10-2001 à 11:03:40
ton echo qui fonctionne il se trouve sur la meme page de ton test ?
Marsh Posté le 31-10-2001 à 13:04:48
si tu reçois la valeur d'un select, il est plus facile d'associer 0 à lundi, 1 à mardi, ...
<SELECT Name="numjour">
<OPTION VALUE='0'>Lundi</OPTION>
<OPTION VALUE='1'>Mardi</OPTION>
<OPTION VALUE='2'>Mercredi</OPTION>
...
</SELECT>
et tu le récupères avec
echo $montablo[$numjour];
si tu veux le jour suivant, plutot que de calculer (si tu n'en as pas besoin ailleur),
- arrange toi pour que la valuer 0 corresponde à mardi, 1 à mercredi, etc.... dans ton tableau
- ou bien met directement dans ton select <option value="0">Mardi</option> ...
pcq avec ton +1 tu dois prendre en compte que si l'utilisateur sélectionne mercredi (qui est le dernier jour de ton tableau) echo $monablo[sizeof($montablo)+1] te donnera koi ???
Marsh Posté le 31-10-2001 à 08:58:50
bonjour, j'ai un tableau "array"
et je voudrais interroger ce tablo pour connaitre la position d'un élément connu.