Page 1 sur 1

regex dans un array

Posté : 23 mai 2011, 23:11
par rimie1
Bonjour!

Est ce qu'on peut utiliser une regex dans un array, par exemple:
$reg = '[az-AZ];
$tab = array('valeur1', 'valeur2', 'valeur3', 'valeur4', $reg);
et je dois verifier si un tableau contient la valeur1, valeur2,.. ou tout autre mot composant de lettres.

merci

Re: regex dans un array

Posté : 23 mai 2011, 23:27
par moogli
salut,

peux tu définir plus clairement ce que tu veux faire ?

connais tu la fonction in_array ?

suivant ton besoin tu peux utiliser d'autre fonction prévue pour les tableaux Les tableaux en php

@+

Re: regex dans un array

Posté : 23 mai 2011, 23:48
par rimie1
salut,

peux tu définir plus clairement ce que tu veux faire ?

connais tu la fonction in_array ?

suivant ton besoin tu peux utiliser d'autre fonction prévue pour les tableaux Les tableaux en php

@+
je voudrais voir si un element selectionne existe dans un tableau, c'est donc in_array, alors mon exemple:
$reg = '^r'; // un exemple
$tab = array('valeur1', 'valeur2', 'valeur3', 'valeur4', $reg);
le tableau peut comporter soit valeur1, valeur2, valeur3, valeur4 ou bien ma regex que je definit, par exemple ma regex: un mot qui commence par "r".
function check_name($value)
{
if(in_array($value, $tab))
{
echo 'le mot '.$value.' existe';
}
else
{
echo 'le mot '.$value.' est absent';
}
} // function

echo $check_name('valeur2'); // ca va afficher: le mot valeur2 existe
echo $check_name('xyz'); // ca va afficher: le mot xyz est absent
echo $check_name('rimie'); // ca va afficher: le mot rimie existe

Re: regex dans un array

Posté : 24 mai 2011, 01:09
par moogli
si tu cherche une valeur fiwe in_array peux le faire, par contre le tableaux la j'ai des doutes.

après pour une expréssion régulière va falloir passer par les fonctions preg_match ! (quitte a boucler sur le tableau pour tester toutes les lignes.

@+

Re: regex dans un array

Posté : 24 mai 2011, 10:03
par rimie1
si tu cherche une valeur fiwe in_array peux le faire, par contre le tableaux la j'ai des doutes.

après pour une expréssion régulière va falloir passer par les fonctions preg_match ! (quitte a boucler sur le tableau pour tester toutes les lignes.

@+
donc en 2 etapes:
function check_name($value)
{
if(in_array($value, $tab))
{
//echo 'le mot '.$value.' existe';
return TRUE;
}
else
{
//echo 'le mot '.$value.' est absent';
return FAlSE;
}

if(preg_match(param1, param2))
{
return TRUE;
}
} // function

if(check_name)
{
echo 'le mot '.$value.' est valide';
}
echo $check_name('valeur2'); // ca va afficher: le mot valeur2 existe
echo $check_name('xyz'); // ca va afficher: le mot xyz est absent
echo $check_name('rimie'); // ca va afficher: le mot rimie existe
 

Re: regex dans un array

Posté : 24 mai 2011, 12:49
par rimie1
merci, c'est resolu