Chercher une valeur dans un tableau (PHP)

artragis Messages postés 481 Date d'inscription   Statut Membre Dernière intervention   -  
artragis Messages postés 481 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   164
 
Bah faut faire une fonction.
Laisse moi 20min et je te la fait.

Bilou.
0
artragis Messages postés 481 Date d'inscription   Statut Membre Dernière intervention   146
 
j'y réfléchis aussi de mon côté
0
cs-bilou Messages postés 769 Date d'inscription   Statut Membre Dernière intervention   164
 
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   Statut Membre Dernière intervention   146
 
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