Page 1 sur 1

recherche dans un tableau

Posté : 07 mars 2010, 15:18
Bonjour,

Je voulais juste savoir, $f étant une variable entrée par un utilisateur en GET
est-ce que ce code peut-être dangereux pour trouver l'entrée correspondante à $f dans un tableau ? :

$f = 'bleu';

Code : Tout sélectionner

$crcs = array( "E45BA8F" => "bleu", "F8E6Q9" => "rouge", "E55AFT" => "noir"); $fcrc = $crcs[$f]; // le crc de bleu est E45BA8F
ou est-ce qu'il vaudrait mieux faire ça :

Code : Tout sélectionner

$fcrc = array_search($f, $crcs); // le crc de bleu est E45BA8F
merci

Re: recherche dans un tableau

Posté : 07 mars 2010, 16:29
par Victor BRITO
Salut,

Avant toute chose, tu dois vérifier, au moment où tu définis $f, que la valeur que tu récupères en GET correspond bien à un type de valeur attendu ou autorisé. Ensuite, il vaut mieux effectuer un array_search () pour vérifier que la clé existe dans le tableau à analyser avant de l'utiliser (soit dit en passant, la fonction array_key_exists () convient aussi à cette tâche).

Re: recherche dans un tableau

Posté : 19 avr. 2010, 23:47
par Gofromiel
Si tu cherches à savoir si la valeur "blue" se trouve dans le tableau, comme laisse supposer ton code, c'est in_array() que tu devrais utiliser :

Pour savoir si une clé se trouve dans un tableau, tu peux très bien utiliser isset() ou empty(). Utiliser array_key_exists() est beaucoup plus couteux, mais c'est le seul moyen de savoir si une clé dont la valeur est null existe dans un tableau.