Pour le débogage je suis entré deux echos à un if-else, si la section dans une méthode:Un bogue PHP dans une condition if-else-if?
if ($options instanceof Zend_Config) {
$options = $options->toArray();
echo "1st condition true<br>";
} else if (! is_array($options)) {
echo "2nd condition true<br>";
exit();
throw new Bvb_Grid_Exception('options must be an instance from Zend_Config or an array');
}
La chose folle est la sortie que je reçois est:
1st condition true
2nd condition true
Can vous expliquez cela?!?!
@ user522350: Pour vérifier ce que dit netcoder ("vous appelez cette routine deux fois"), insérez 'echo" appelé
";'. Si cela ne vous aide pas: Êtes-vous sûr que c'est exactement votre code? – thejh
Ajouter un 'echo 'Exécuter mon code.';' Avant le premier 'if' et vérifier combien de fois il passe par là. –
imprimer un debug_backtrace dans le bloc elseif – Gordon