Bay: IF empty....

Hallo,

warum funktioniert diese Anweisung nicht? Scheinbar wird das ! vor dem Empty nicht genommen...

if ( ! empty($data[tarif_2]) || ! empty($data[tarif_3]) || ! empty($data[tarif_1]) || ! empty($data[tarif_4])) {  

  1. Hallo,

    error_reporting(E_NOTICE|E_ALL);

    und dann einen vollständigen testcode nehmen. $data[tarif] kennt PHP nicht. eher $data["tarif"].

    Gruß

    jobo

    1. Hi!

      error_reporting(E_NOTICE|E_ALL);

      E_NOTICE ist in E_ALL enthalten, muss also nicht hinzugeodert werden.

      $data[tarif] kennt PHP nicht. eher $data["tarif"].

      Obgleich es korrekt ist, die Anführungszeichen zu setzen: PHP kennt diese Schreibweise, beziehungsweise hat eine Standard-Vorgehensweise, wenn keine Konstante namens tarif existiert.

      Lo!

      1. Hallo,

        $data[tarif] kennt PHP nicht. eher $data["tarif"].
        Obgleich es korrekt ist, die Anführungszeichen zu setzen: PHP kennt diese Schreibweise, beziehungsweise hat eine Standard-Vorgehensweise, wenn keine Konstante namens tarif existiert.

        ja, aber die Tatsache, dass dennoch eine Notice ausgegeben wird, darf man wohl mit Fug und Recht als Hinweis nehmen, dass die Schreibweise nicht korrekt ist und nur "aus Kulanz" so funktioniert, wie es der Autor wahrscheinlich gemeint hat (selbst wenn diese "Kulanz" offiziell dokumentiert sein sollte, was ich nicht mit Sicherheit weiß).

        Ciao,
         Martin

        --
        Wer es in einem Unternehmen zu etwas bringen will, muss so tun, als hätte er es schon zu etwas gebracht.
        Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
        1. Hi!

          $data[tarif] kennt PHP nicht. eher $data["tarif"].
          Obgleich es korrekt ist, die Anführungszeichen zu setzen: PHP kennt diese Schreibweise, beziehungsweise hat eine Standard-Vorgehensweise, wenn keine Konstante namens tarif existiert.
          ja, aber die Tatsache, dass dennoch eine Notice ausgegeben wird, darf man wohl mit Fug und Recht als Hinweis nehmen, dass die Schreibweise nicht korrekt ist und nur "aus Kulanz" so funktioniert, wie es der Autor wahrscheinlich gemeint hat (selbst wenn diese "Kulanz" offiziell dokumentiert sein sollte, was ich nicht mit Sicherheit weiß).

          Stimmt, aber die Tatsache, dass da Kulanz vorhanden ist, widerspricht einem "kennt PHP nicht". Ich meine ja nur, wenn man kritisiert, sollte man das richtig machen, und den Anwender nicht mit dem Widerspruch "kennt PHP nicht" versus "funktioniert bei ihm aber üblicherweise problemlos" stehen lassen.

          Lo!

          1. Hallo,

            naja, ich dachte wirklich bisher, dass das gar nicht geht. Auch im Alter noch täglich dazulernen (;-).

            Gruß

            jobo

  2. @@Bay:

    nuqneH

    warum funktioniert diese Anweisung nicht?

    Warum funktioniert „funktioniert nicht“ nicht als Problembeschreibung?

    Qapla'

    --
    Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
    (Mark Twain)
  3. Hi,

    warum funktioniert diese Anweisung nicht?

    wie äußert sich das? Was passiert, was passiert nicht? Mit welchen Testdaten?

    Scheinbar wird das ! vor dem Empty nicht genommen...

    Aha ...

    if ( ! empty($data[tarif_2]) || ! empty($data[tarif_3]) || ! empty($data[tarif_1]) || ! empty($data[tarif_4])) {

    Also wenn mindestens einer der geprüften Werte gegeben (nicht leer) ist, soll der if-Block ausgeführt werden. Und? - Zur vermutlich falschen Index-Angabe hast du ja schon einen Hinweis bekommen.

    Ciao,
     Martin

    --
    Denken ist wohl die schwerste Arbeit, die es gibt. Deshalb beschäftigen sich auch nur wenige damit.
      (Henry Ford, amerikanischer Industriepionier)
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
  4. Hinter dem if fehlt eine Klammer.

    1. @@Jupp:

      nuqneH

      Hinter dem if fehlt eine Klammer.

      Nö, alle Klammern da.

      Qapla'

      --
      Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
      (Mark Twain)
      1. Hallo,

        er meint wohl die Geschweifte!

        @@Jupp:

        nuqneH

        Hinter dem if fehlt eine Klammer.

        Nö, alle Klammern da.

        Qapla'

        1. @@Sipatshi:

          nuqneH

          er meint wohl die Geschweifte!

          Ah, ja. ;-)

          Aber schweifen ab.

          Qapla'

          PS: Wo wir schon beim Abschweifen sind: Bitte kein TOFU.

          --
          Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
          (Mark Twain)