Chercher une valeur dans un tableau (PHP)

Fermé
artragis Messages postés 481 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 6 avril 2010 - 28 août 2009 à 20:13
artragis Messages postés 481 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 6 avril 2010 - 29 août 2009 à 09:22
Bonjour,
épluchant le manuel php, j'ai trouvé la fonction array_search pour chercher à l'interrieur d'un tableau une valeur.
Or moi dans mon tableau il y a 2 chances sur trois que la valeur que je cherche soit représentée 2, 3 ou 4 fois. Comment faire pour que php me trouve les clefs (numériques) de ces valeurs
un exemple de ce qu'il peut y avoir dans mon tableau
attribut1=array(0,2,1,2,1,1,1,0,0) 
et moi c'est la valeur maximale qui m'intéresse, donc ici 2, et les indexes de cette valeur.
A voir également:

4 réponses

cs-bilou Messages postés 769 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 24 février 2011 164
28 août 2009 à 20:40
Bah faut faire une fonction.
Laisse moi 20min et je te la fait.

Bilou.
0
artragis Messages postés 481 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 6 avril 2010 146
28 août 2009 à 21:26
j'y réfléchis aussi de mon côté
0
cs-bilou Messages postés 769 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 24 février 2011 164
28 août 2009 à 21:30
Tien voilà
<?php
$attribut1="021211100";
echo CherchePlusGrandeValeur($attribut1);

function CherchePlusGrandeValeur($chaine)
{
	$Bitmax = "No";
	for ($i = 0 ; $i < strlen($chaine) ; $i++)
	{
		for ($j = 0 ; $j < strlen($chaine) ; $j++)
		{
			if ($chaine[$i] >= $chaine[$j] AND $chaine[$i] >= $chaine[$BitMax])
				$BitMax = $i;		
		}
	}
	return $BitMax;
}
?>


Un merci sa fait pas de mal ^^.

Bilou.
0
artragis Messages postés 481 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 6 avril 2010 146
29 août 2009 à 09:22
Salut, j'ai pas trop compris ta fonction et je ne sais pas si elle fais ce que moi je souhaite, enfin bon, moi, comme promis j'y avais réfléchi aussi.
$tab_indice=array();
$lengh_tab_indice=1;
$valeur_min_cherchee=2; (car cette fonction sera imbriquée dans un if($valeur_cherchée>1))

  for($i=1;$i<count($attrbut1);$i++){

      if($attribut1[$i]>$valeur_min_cherchee){
        $valeur_min_cherchee=$attribut1[$i];//on remplace la valeur minimale 
        array_splice($tab_indice,2);//on supprime tout à partir de la seconde valeur
        $lengh_tab_indice=1;
        $tab_indice[$lengh_tab_indice]=$i;//et on remplace la première
       }

     else if($attribut1[$i]==$valeur_min_cherchee{
         $lengh_tab_indice++;//si c'est égal à la valeur minimale alors on ajoute juste au tableau des indices.
         $tab_indice[$lengh_tab_indice]=$attribut1[$i]
     }
}
0