Tester l'existence et la valuer d'un champ d'un tableau

Le
mpg
Bonjour,

Je viens de constater qu'en activant le raport des erreur E_NOTICE, on
se fait engueuler en essayant de faire des tests comme

if ($fou['barre'] 1)

où $fou est un tableau qui n'a pas d'indice 'barre'. Pourtant, je trouve
ça vachement pratique pour tester d'un coup si certaines paramètres (de
$_REQUEST ou $_SESSION par exemple) sont positionnés et ont un certaine
valeur.

Je trouve fastidieux (et source potentielle d'erreurs) d'écrire

if (isset($fou['barre']) and $fou['barre'] 1)

Il n'y a pas une façon propre et pas lourde à écrire de faire ce test ?

Merci,

--
Manuel Pégourié-Gonnard Institut de mathématiques de Jussieu
http://weblog.elzevir.fr/ http://people.math.jussieu.fr/~mpg/
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Teufel
Le #19076521
mpg avait soumis l'idée :

if (isset($fou['barre']) and $fou['barre'] === 1)

Il n'y a pas une façon propre et pas lourde à écrire de faire ce test ?



Si : http://fr.php.net/array_key_exists
CrazyCat
Le #19079721
Teufel wrote:
if (isset($fou['barre']) and $fou['barre'] === 1)
Il n'y a pas une façon propre et pas lourde à écrire de faire ce test ?


Si : http://fr.php.net/array_key_exists



Je ne vois pas bien la différence entre:
if (isset($foo['bar']) && $foo['bar']===1)
et
if (array_key_exists('bar', $foo) && $foo['bar']===1)

Pour répondre à mpg, il n'y a pas moins "lourd", et c'est la manière
propre de tester.

--
Réseau IRC Francophone: http://www.zeolia.net
Aide et astuces : http://www.g33k-zone.org
Communauté Francophone sur les Eggdrops: http://www.eggdrop.fr
mpg
Le #19082151
CrazyCat scripsit:

Teufel wrote:
if (isset($fou['barre']) and $fou['barre'] === 1)
Il n'y a pas une façon propre et pas lourde à écrire de faire ce test ?


Si : http://fr.php.net/array_key_exists



Je ne vois pas bien la différence entre:
if (isset($foo['bar']) && $foo['bar']===1)
et
if (array_key_exists('bar', $foo) && $foo['bar']===1)



Moi non plus, après avoir lu attentivement la page citée (y compris la
section expliquant la différence entre array_key_exists() et isset(), je
précise).

Pour répondre à mpg, il n'y a pas moins "lourd", et c'est la manière
propre de tester.



Ok.

--
Manuel Pégourié-Gonnard Institut de mathématiques de Jussieu
http://weblog.elzevir.fr/ http://people.math.jussieu.fr/~mpg/
Teufel
Le #19115051
mpg a présenté l'énoncé suivant :
CrazyCat scripsit:

Teufel wrote:
if (isset($fou['barre']) and $fou['barre'] === 1)
Il n'y a pas une façon propre et pas lourde à écrire de faire ce test ?


Si : http://fr.php.net/array_key_exists



Je ne vois pas bien la différence entre:
if (isset($foo['bar']) && $foo['bar']===1)
et
if (array_key_exists('bar', $foo) && $foo['bar']===1)



Moi non plus, après avoir lu attentivement la page citée (y compris la
section expliquant la différence entre array_key_exists() et isset(), je
précise).




Il y en une petite mais dans ton cas, c'est pareil en fait.

En fait, je pensais que quand le rapport d'erreur affichait les notice,
il informait que la clé n'existait en faisant un isset($foo['bar']), ou
cela devait le faire avec les anciennes version de PHP.

J'ai lu un peu trop vite ton post :/

Pour répondre à mpg, il n'y a pas moins "lourd", et c'est la manière
propre de tester.



Ok.


Publicité
Poster une réponse
Anonyme