[php] array

Résolu/Fermé
okuni Messages postés 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 - Modifié par okuni le 30/05/2010 à 14:05
okuni Messages postés 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 - 30 mai 2010 à 16:15
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)
A voir également:

3 réponses

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

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

if (!in_array($recherche, $black_list))   
{   
 echo 'insert';   
}   
else   
{   
 echo 'pas insert';   
}   
?>
0
Subshadow Messages postés 8 Date d'inscription dimanche 30 mai 2010 Statut Membre Dernière intervention 30 mai 2010
30 mai 2010 à 14:42
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 ;)
0
okuni Messages postés 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 126
30 mai 2010 à 16:15
Ok merci beaucoup :)

et effectivement, il tient compte de la casse.
0