2013-08-15 5 views
0

exécution de mon script PHP arrête si j'ai ce morceau de code avec aucune erreurexécution de PHP arrête pour une raison inconnue

return str_replace( 
    str_repeat($currentOsSeparator, 2), 
    '//', 
    str_replace(
     $separators, 
     $currentOsSeparator, 
     $path), 
    1); 

Maintenant, la partie la plus délicate est que l'exécution s'arrête même si ce code est après une déclaration de retour.

+3

Vous définissez error_reporting? – John

+0

S'il vous plaît montrer plus de contexte. Qu'est-ce qui se passe avant ce code? Qu'est-ce qui vient après (si quelque chose)? –

+0

sent une erreur d'analyse, les rapports d'erreurs vous aideraient certainement. – MightyPork

Répondre

1

Est-ce que c'est supposé être une fonction? Je ne suis pas sûr de ce que vous essayez de faire. L'erreur renvoyée pour le code ci-dessus sur son propre est

PHP Fatal error: Only variables can be passed by reference

Vous devriez lire ceci: http://php.net/manual/en/function.return.php

If called from the global scope, then execution of the current script file is ended

Mais sans voir plus de votre code ou explication plus il est difficile d'aider.

+0

James, merci, je l'ai réalisé peu de temps après avoir posté la question - en passant une variable à la fonction corrigé le problème. Cependant, ce code n'était pas dans la portée globale - il était dans une méthode statique - et a arrêté l'exécution même s'il y avait une autre déclaration 'return' avant elle, ce qui me fait penser qu'il s'agit d'une erreur d'analyseur. D'autres idées? – XedinUnknown

+0

montrez votre code complet et peut prendre un loosie – James

Questions connexes