Hilfe bei einer einfachen Switch Anwendung

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Hilfe bei einer einfachen Switch Anwendung

    Hi,

    erstmal ich bin ein Anfänger und habe angefangen PHP zu lernen und hätte eine Frage:


    PHP Code:
    <?php

    $wert 
    '';

    switch (
    $wert) {

    case !empty(
    $wert) :
    echo 
    $wert
    break;

    default :
    echo 
    'Standardwert';
    break;

    }


    ?>
    Ich würde gerne, dass der Text 'Standardwert' ausgegeben wird, wenn $wert leer ist.
    Mit der If-Funktion klappt es, aber mit der switch irgendwie nicht...

    Zweite Frage)

    PHP Code:
    <?php

    $wert 
    '0';

    $feldwert= !empty($wert) ? $wert 'Standardwert';

    echo 
    $feldwert;


    ?>
    Bei 0 wird nicht der Wert ausgegeben..sondern es wird als "false" angesehen!
    Ist es möglich dass irgendwie mit dem ternären Operator zu umgehen oder geht das anders nicht?

    Danke schonmal für die Hilfe, auch wenn es banale Fragen sind ^^.

    Gruß

  • #2
    Originally posted by Naturale1602 View Post
    Hi,

    erstmal ich bin ein Anfänger und habe angefangen PHP zu lernen und hätte eine Frage:


    PHP Code:
    <?php

    $wert 
    '';

    switch (
    $wert) {

    case !empty(
    $wert) :
    echo 
    $wert
    break;

    default :
    echo 
    'Standardwert';
    break;

    }


    ?>
    Ich würde gerne, dass der Text 'Standardwert' ausgegeben wird, wenn $wert leer ist.
    Mit der If-Funktion klappt es, aber mit der switch irgendwie nicht...
    Wozu willst du hier Switch verwenden? Ist doch sinnlos.

    Originally posted by Naturale1602 View Post
    Zweite Frage)

    PHP Code:
    <?php

    $wert 
    '0';

    $feldwert= !empty($wert) ? $wert 'Standardwert';

    echo 
    $feldwert;


    ?>
    Bei 0 wird nicht der Wert ausgegeben..sondern es wird als "false" angesehen!
    Ist es möglich dass irgendwie mit dem ternären Operator zu umgehen oder geht das anders nicht?
    empty() funktioniert nun mal so. Steht auch so im Handbuch:

    PHP: empty - Manual

    Comment


    • #3
      Originally posted by Naturale1602 View Post
      Bei 0 wird nicht der Wert ausgegeben..sondern es wird als "false" angesehen!
      Ist es möglich dass irgendwie mit dem ternären Operator zu umgehen oder geht das anders nicht?
      Du wirst noch eine zusätzliche Bedingung für diesen Fall hinzufügen müssen, unter Nutzung des Identitätsoperators ===.

      PHP Code:
      $feldwert = (!empty($wert) || $wert === '0') ? $wert 'Standardwert'
      Dabei musst du dir natürlich im Klaren darüber sein, welcher Typ von Wert vorliegt - ob du wirklich den Textstring '0' meinst, oder die Zahl 0. Wenn du das beides erlauben willst, erfordert das auch noch mal eine Erweiterung der Bedingung.
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Comment


      • #4
        Danke für die Hilfe.


        Und ja ich weiß es ist sinnlos, dass man da switch nimmt, aber ich wollte es ja allgemein testen! Verschiedene Funktionen brauchen um etwas Routine zu bekommen.
        Und ich habe mich gefragt wieso es bei der IF - Funktion klappt und bei der Switch Funktion nicht (da die beiden ja quasi identisch funktionieren im Prinzip).

        Comment


        • #5
          Originally posted by Naturale1602 View Post
          Danke für die Hilfe.


          Und ja ich weiß es ist sinnlos, dass man da switch nimmt, aber ich wollte es ja allgemein testen! Verschiedene Funktionen brauchen um etwas Routine zu bekommen.
          Und ich habe mich gefragt wieso es bei der IF - Funktion klappt und bei der Switch Funktion nicht (da die beiden ja quasi identisch funktionieren im Prinzip).
          Ok, wenn du willst:
          PHP Code:
          $wert '';

          switch (empty(
          $wert)) {
              case 
          false:
                  echo 
          $wert
                  break;
              case 
          true:
                  echo 
          'Standardwert';
                  break;

          Comment


          • #6
            PHP Code:
            $wert ''

            switch (
            true

                case (!empty(
            $wert)) : echo $wert;  break; 
                default : echo 
            'Standardwert'

            Solch einen Blödsinn kann man nur in PHP anstellen.
            Wir werden alle sterben

            Comment

            Working...
            X