133 votes

Avez-vous besoin de briser dans l'interrupteur lorsque le retour est-il utilisé?

Je me demandais si j'ai besoin d'utiliser le "break" en "fonction" interrupteur lorsque "retour" est utilisé.

function test($string)
{
  switch($string)
  {
    case 'test1':
      return 'Test 1: ' . $string;
    case 'test2':
      return 'Test 2: ' . $string;
  }
}

Je l'ai essayé, et ça marche très bien sans "casser". Mais j'ai besoin de savoir si cela est sans danger. Je vous remercie.

160voto

foobar Points 2718

Oui, vous pouvez utiliser return au lieu de break...

break est facultatif et est utilisé pour prévenir la "chute" à travers toutes les autres case des déclarations. Donc, return peut être utilisé de manière similaire, en tant que return termine l'exécution de la fonction.

Aussi, si tous vos case des déclarations sont comme ceci:

case 'foo':
   $result = find_result(...);
   break;

et après l' switch déclaration, vous avez juste return $result, à l'aide de return find_result(...); chaque case rendre votre code plus lisible.

Enfin n'oubliez pas d'ajouter l' default des cas. Si vous pensez que votre code ne sera jamais atteindre l' default des cas, alors vous pourriez utiliser le assert de la fonction, parce que vous ne pouvez jamais être sûr.

22voto

Nanne Points 35880

Vous n'avez pas la nead une pause, le retour s'arrête l'exécution de la fonction.

(pour référence: http://php.net/manual/en/function.return.php dit:

Si elle est appelée à partir de l'intérieur d'une fonction, le return() se termine immédiatement l'exécution de la fonction en cours

)

6voto

Gayan L Points 186

Aucun son n'est pas nécessaire , parce que quand le mot-clé le retour est appelé, il indiquera que la fonction particulière qui le commutateur/affaire a été appelé en est venu à une fin.

5voto

Halcyon Points 31203

Non, vous n'avez pas besoin d'un break en switch case déclaration. L' break n'est pas obligatoire, mais à utiliser avec prudence.

2voto

La rupture est juste une mise en garde permet de limiter le contrôle de commutateur de stucture d'aller dans un autre cas...par exemple, si vous avez trois cas de déclarations et de valeur pour le premier cas et que vous avez utilisées cas sans rupture de la structure puis tout les cas suivants seront exécutés en dépit de la condition d'être convaincu que pour le premier cas... De retour peuvent effectuer l'asme fonction de sorte qu'il ne sera pas un problème si vous utilisez de retour à la place de pause parce que le retour va prendre le contrôle à l'écart de l'interrupteur en cas de déclaration qui est de la nécessité du moment...... espérons que cela aide....

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X