2010-11-27 7 views
0

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?!?!

+0

@ 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

+0

Ajouter un 'echo 'Exécuter mon code.';' Avant le premier 'if' et vérifier combien de fois il passe par là. –

+1

imprimer un debug_backtrace dans le bloc elseif – Gordon

Répondre

7

La seule explication est que vous appelez cette routine deux fois.

Le problème ne provient pas de ce morceau de code que vous avez publié. C'est autre chose.

+0

Merci! C'était ça. – user522350