Vous ne pouvez pas effectuer une opération comme celle d'une matrice. Comme vous pouvez le voir dans the documentation on preg_match()
, il prend une chaîne comme deuxième paramètre, pas un tableau.
int preg_match (string $pattern , string $subject
[, array &$matches [, int $flags = 0 [, int $offset = 0 ]]])
Au lieu de cela, vous devez dire ce que l'élément que vous voulez faire l'opération sur.
Si vous voulez faire cela à un seul élément d'un tableau, utilisez simplement son index. Par exemple. le premier élément sera $myarray[0]
, de sorte que les éléments suivants devraient fonctionner:
if (preg_match('/[^\d\w\(\)\[\]\.\-]+/',$myarray[0])>0) echo 'yes';
Si vous d'autre part souhaitent le faire à chaque élément dans votre tableau, vous pouvez
créer un boucle foreach
foreach ($myarray as $element) {
if (preg_match('/[^\d\w\(\)\[\]\.\-]+/',$element)>0) echo 'yes';
}
array_map()
d'utilisation et une ca Fonction llback
function match_callback($element) {
if (preg_match('/[^\d\w\(\)\[\]\.\-]+/',$element)>0) echo 'yes';
}
array_map('match_callback',$myarray);
Si vous regardez les (http://php.net/manual/en/function.preg-match.php) [docs] Vous verrez que la fonction accepte seulement une chaîne comme sujet donc ce n'est pas étrange du tout ça ne fonctionne pas: P – PeeHaa
preg-match ne fonctionne pas avec les tableaux –