Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

necessite de isset ?

1 réponse
Avatar
jeremie.fouche
Bonjour a tous

<HS>Je n'arrive pas a poster chez vous depuis mon lecteur de news,
j'essaye donc depuis Google</HS>

J'utilise la PHPLib, mais je rencontre regulierement le probleme
suivant :

Exemple avec OOHForm

class OOHForm {
...
function setup_element($a) {
$cv_tab = array("type"=>"ignore",
"min_l"=>"minlength",
"max_l"=>"maxlength",
"extra_html"=>"extrahtml");
reset($a);
while (list($k, $v) = each($a)) {
# ICI
if ($cv_tab[$k]=="ignore") {
continue;
} else {
# LA AUSSI
$k = ($cv_tab[$k] ? $cv_tab[$k] : $k);
}
$this->$k = $v;
}
...
}

Pour que cela fonctionne chez moi, je suis obligé de modifier les
lignes ainsi :
if ( isset($cv_tab[$k]) && ($cv_tab[$k]=="ignore") ) {
et
$k = (isset($cv_tab[$k]) ? $cv_tab[$k] : $k);

Ce qui me parrait beaucoup plus logique et sur. Cela dépend il d'une
option de configuration ? Est ce un comportement défini ? Si non,
pourquoi une bibliotheque comme celle ci (la FAQ nous dit qu'elle est
bien) est elle developpée de la sorte ?

Cordialement

--

Jérémie

--

1 réponse

Avatar
Guillaume BOUCHARD
jeremie fouche wrote:
Bonjour a tous

<HS>Je n'arrive pas a poster chez vous depuis mon lecteur de news,
j'essaye donc depuis Google</HS>


Wanadoo est mort parait-t-il.

J'utilise la PHPLib, mais je rencontre regulierement le probleme
suivant :


Quel probleme ?

if ($cv_tab[$k]=="ignore") {
$k = ($cv_tab[$k] ? $cv_tab[$k] : $k);



Pour que cela fonctionne chez moi, je suis obligé de modifier les
lignes ainsi :
if ( isset($cv_tab[$k]) && ($cv_tab[$k]=="ignore") ) {
et
$k = (isset($cv_tab[$k]) ? $cv_tab[$k] : $k);


Oki, le probleme doit être : tu as des warnings de variables non
initialisées.

Ce qui me parrait beaucoup plus logique et sur.


Oui.


Cela dépend il d'une
option de configuration ?


Oui, error_reporting

Est ce un comportement défini ? Si non,
pourquoi une bibliotheque comme celle ci (la FAQ nous dit qu'elle est
bien) est elle developpée de la sorte ?


Parce que si l'on crachait sur tous les softs qui ne supporte pas le
error_reporting en E_ALL, cela ferait longtemps que l'on n'aurait plus
de salive.

Bref, il faut esseyer de coder en mettant des isset là où la definition
d'une variable n'est pas certaine.

--
Guillaume.

--