[php] array [Résolu/Fermé]

Signaler
Messages postés
1221
Date d'inscription
jeudi 4 septembre 2008
Statut
Membre
Dernière intervention
2 janvier 2014
-
Messages postés
1221
Date d'inscription
jeudi 4 septembre 2008
Statut
Membre
Dernière intervention
2 janvier 2014
-
Bonjour,

j'essaye de faire une black liste lors d'une recherche.
lorsqu'un utilisateurs fait une recherche, s'il tape certains mots, il se passera un truc.

ici, l'array $black_list contient le mot recherche et test.
je veux que lorsque la variable $recherche contient un de ces mots, le "if" retourne false
<?php   
$recherche = 'recherche';   

$black_list = array('recherche', 'test');   

if (!array_search($recherche, $black_list))   
{   
 echo 'insert';   
}   
else   
{   
 echo 'pas insert';   
}   
?>

donc si la les mots de la variables $recherche ne contient pas ces mots, j'affiche 'insert'

mais voila, ça ne fonctionne pas et je ne comprend pas.

Merci d'avance pour vos aides.

EDIT : il faut aussi que je ne tienne pas compte de la casse, je pense que c'est pris par défaut mais je n'en suis pas sur.

L'amour, c'est comme les spaghettis; quand c'est mou, c'est cuit. (proverbe belge)

3 réponses

Messages postés
167
Date d'inscription
jeudi 21 mai 2009
Statut
Membre
Dernière intervention
16 novembre 2012
23
salu essaye ca
<?php
  
$recherche = 'recherche';   

$black_list = array('recherche', 'test');   

if (!in_array($recherche, $black_list))   
{   
 echo 'insert';   
}   
else   
{   
 echo 'pas insert';   
}   
?>
Messages postés
8
Date d'inscription
dimanche 30 mai 2010
Statut
Membre
Dernière intervention
30 mai 2010

Salut,

Je pense que ton problème viens du fait que la place de ta recherche est à l'index 0 du tableau, du coup ta condition ne fonctionne pas.

Essaye ceci :
if (array_search($recherche, $black_list) === false)   
{   
 echo 'insert';   
}   
else   
{   
 echo 'pas insert';   
}  


Concernant la casse, ça va la respecter par défaut, je te conseil de mettre tout en minuscule et de transformer la chaine que tu reçois en minuscule pour comparer deux chaines similaires.

Good luck ;)
Messages postés
1221
Date d'inscription
jeudi 4 septembre 2008
Statut
Membre
Dernière intervention
2 janvier 2014
125
Ok merci beaucoup :)

et effectivement, il tient compte de la casse.