Afficher les lignes contenant uniquement cette chaine de caractères

WRInaute discret
Bonjour,
Je cherche a faire exactement ce que j'ai mis dans le titre de ce poste, c'est à dire "Afficher les lignes contenant uniquement cette chaine de caractères".
Je m'explique :
J'ai un tableau généré via traitement php d'un fichier csv, jusque là nikel, maintenant je voudrai pouvoir avoir un champ dans lequel je met une chaine de caractère, et que le contenu du tableau soit filtré pour n'afficher que les lignes contenant cette chaine.
Je pense qu'il a un bien un truc permettant de faire ça mais je trouve rien.
Si vous pouviez me filer un coup de mains.

Merci.
 
WRInaute occasionnel
Je ne suis pas certain d'avoir bien compris mais perso je regarderais du coté de la fonction strpos() que j'intègrerais dans ton traitement des données.
 
WRInaute discret
Merci pour ta réponse, mais je ne pense pas que ce sois ce que je cherche, enfaite, je veux faire un post traitement sur mon tableau pour qu'il ne contiennent que des lignes comportant des champs de caractères spécifiques.
Par exemple j'ai dans mon tableau
ligne 1 colonne 1 : bateau
ligne 2 colonne 1 : rateau
ligne 3 colonne 1 : maison

=> si dans mon champs recherche je tape "teau" le tri du tableau s'effectue pour ne comporter que la ligne 1 et 2.

J'espère être plus claire.

Merci
 
WRInaute accro
Attention avec strpos à tenir compte du bug lorsque la chaine est trouvée en debut de chaine (position 0) ... :wink:
 
WRInaute passionné
Zecat a dit:
Attention avec strpos à tenir compte du bug lorsque la chaine est trouvée en debut de chaine (position 0) ... :wink:

On le contourne en testant avec === ou !== selon ce que l'on veut.

de plus, il est bcp moins gourmand que les preg_match
 
WRInaute accro
medium69 a dit:
Zecat a dit:
Attention avec strpos à tenir compte du bug lorsque la chaine est trouvée en debut de chaine (position 0) ... :wink:

On le contourne en testant avec === ou !== selon ce que l'on veut.

de plus, il est bcp moins gourmand que les preg_match
ah je savais pas le === (moi je me cassais pas le fion je fais un '*'.$texte :mrgreen: Comme ca plus de resultats en position 0 par definition :roll:
 
WRInaute passionné
Tiens voilà le liens qui t'explique tout cela : http://fr.php.net/manual/fr/function.strpos.php

ainsi, si tu es en position 0, avec cela tu as la valeur TRUE (=== vaut TRUE et est de même type - booléen dans notre cas.

!== veut dire FALSE et de même type ; donc 0 retournera TRUE et non FALSE.

Par contre, != indique FALSE, 0, ou une chaîne vide.

Voilà pourquoi il faut aussi vérifier le type avec cette fonction.
 
WRInaute accro
bon effectivement faut que je pense a lire ce qui est ecrit en dessous ... plus bas dan sl apage :mrgreen:

Bon finalement mon "*" ajoutée devant, ca le fait bien aussi :wink: (pas réglementaire mais ca le fait)
 
WRInaute passionné
Zecat a dit:
Attention avec strpos à tenir compte du bug lorsque la chaine est trouvée en debut de chaine (position 0) ... :wink:
Va falloir passer à php niveau 2... :mrgreen:
Code:
if strpos(...) > -1
Explication : si le résultat n'est pas numérique (0 et plus), le test renvoie false. Un résultat booléen renvoie false sur un test numérique. Le test numérique est un peu plus lent qu'un test purement booléen mais restera infiniment plus rapide que la manipulation de chaîne de caractères.

Sinon : array_filter, ça a été dit.
 
Discussions similaires
Haut