Hilfe bei einer einfachen Switch Anwendung

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • 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
    Zitat von Naturale1602 Beitrag anzeigen
    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.

    Zitat von Naturale1602 Beitrag anzeigen
    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

    Kommentar


    • #3
      Zitat von Naturale1602 Beitrag anzeigen
      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.

      Kommentar


      • #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).

        Kommentar


        • #5
          Zitat von Naturale1602 Beitrag anzeigen
          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;

          Kommentar


          • #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

            Kommentar

            Lädt...
            X