Quel est l'élément de mon tabl ki contient...

mathieu_r -  
 mathieu -
bonjour,

jai un probleme en PHP. je ne sais pas [b]comment récupérer le numéro d'un élémént d'un tableau qui contient une chaine de caractères donnée...
[/b]
soit l'exemple:

j'ai un tableau de i éléments, i allant de 1 à 4 qui contient des chaines de caractères:
tableau[1]=gfjhj;
tableau[2]=dfgveloj;
tableau[3]=fdgj;
tableau[4]=fgj;

jaimerais faire une fonction qui me donne le numéro de l'élémént du tableau qui contient la chaine de caractères "velo". elle me renverrait 2 car tableau[2] contient "velo"...
comment faire ça, quels sont les opérateurs sur chaines de caracteres qui permettent de repérer un élément ds une chaine???

merci!!!

4 réponses

  1. Timon1102 Messages postés 354 Statut Membre 109
     
    function find($array,$string) {
         $found = false ;
         $i = 0 ;
         while(!$found && $i<count($array)) {
             if(strstr($array[$i],$string)) $found=true ;
             else $i++ ;
         }
        return ($found)?$i:"-1" ;
    }
    


    voila...
    peut etre que les args de strstr sont inversés je me souviens plus...
    retourne -1 si pas trouvé, sinon retourne le PREMIER indice correspondant
    0
  2. mathieu
     
    merci!!

    sinon, juste une uestion. je ne comprends pas la syntae ds

    return ($found)?$i:"-1" ;

    que veut dire le signe '?'
    et aussi, je ne vois pas ou on récupère l'indice ds la fonction...

    désolé!
    0
  3. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
     
    En fait, la combinaison ? : est un opérateur ternaire, ça sert à imposer une valeur ou une autre selon une condition.

    Ca fonctionne comme ceci:
    $variable= (condition) ? (valeur si vrai) : (valeur si faux)

    Exemple:
    $variable= (2+2==4) ? "Bidule" : "Truc"
    //Comme 2+2 est toujours égal à 4, $variable prendra la valeur "Bidule".

    Ca devrait répondre à ta deuxième question en même temps....
    0