Chap: PHP - Rückgabewert einer Funktion

Hallo,

besteht für einen Funktionsrückgabewert die Möglichkeit sich
direkt auf den Ablauf des Aufrufers auszuwirken?
Damit meine ich zB Folgendes:
Es existiert eine Funktion, in der anhand eines Integerwertes
ein Switch/Case-Konstrukt gesteuert wird. Einige dieser Switch-
Bereiche setzen zusätzliche Parameter voraus, die zwingend
überprüft werden müssen. Bei Nichtvorhandensein eines dieser
Parameter soll die Switch-Anweisung mit einem break beendet
werden.
Dazu finde ich den Weg über ein doppeltes break und einer
zusätzlichen if()-Anweisung ein wenig lästig:

switch($x) {
  case 0:
    if(stop())
      break;
    echo "ok";
  break;
  [..]
}

Was mir so im Kopf schwebt ist so etwas:

switch($x) {
  case 0:
    stop();
    echo "ok";
  break;
  [..]
}

Also dass stop() sozusagen bei Fehler die Anweisung 'break;'
zurückliefert und somit die Switch-Case Anweisung beendet wird.

Ist so etwas in der Art möglich?

Besten Dank für Antworten.

Chap

  1. Hiho,

    soweit ich weiss ist dies nicht möglich. Und selbst wenn es möglich wäre, wäre es recht unsauberer Programmierstil. Funktionen sind nicht ohne Grund relativ stark von anderen teilen deines Scriptes getrennt. Aber mir kommt auch dieses ganze Switch-Konstrukt etwas susoekt vor. Was genau willst du denn erreichen? Vielleicht findet sich da ein eleganterer Weg.

    Grüsse

    Marc

  2. wie ich das sehe ist ja stop() wieder eine funktion. Warum machst du nicht direkt dort das echo "ok"?? und dann beim switch folgendes

      
    case 0:  
       stop();  
       break;