Bedingung als variable in IF() einfügen

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

  • Bedingung als variable in IF() einfügen

    hallo, ich lese aus einer datei die bedingungen für das IF.

    der inhalt der datei sieht so aus :

    $juhu == "34756" or $juhu = "46756" or $juhu = "34732"

    so hatte ich mir das vorgestellt : ($einfueg ist der inhalt der datei)

    if($einfueg)
    {
    echo "blabla";
    }
    else
    {
    echo "bla";
    }

    aber so gehts net. wie mach ich das die bedingungen in die klammer kommen ??

    fg
    blowfish
    AGH

  • #2
    ich glaube gar nicht. Denn wenn du en string in $einfueg hast, dann guckt er nur ob $einfueg und das wird dir wohl idr. TRUE zurück liefern.

    du kannst die if als include machen.

    Kommentar


    • #3
      Re: Bedingung als variable in IF() einfügen

      evtl. geht es, wenn du eval() auf die bedingung anwendest.

      p.s.: hast du immer nur die variable $juhu, oder verschiedene variablen? wenn's nur die eine ist, wäre der aufwand ja völlig unnötig, dann kannst du besser innerhalb einer schleife mit allen dateiwerten vergleichen...
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        nehme schon an, dass es mehrerer sind.

        PHP-Code:
        eval(if($einfueg)
        {
        echo 
        "blabla";
        }
        else
        {
        echo 
        "bla";
        }); 
        könnte in der Tat klappen...

        Kommentar


        • #5
          tobiaz, so sicher nicht :P

          eval() erwartet einen string, keine if .. ausserdem hast du die zu schließende klammer um den bedingungsblock vergessen ..

          PHP-Code:
          if ( eval($einfueg) ) {

          ..


          mfg,
          [color=#0080c0]Coragon[/color]

          Kommentar


          • #6
            Ups! stimmt. Meine Version ist ja das gleiche, als wenn da kein Eval wäre.

            *duck*

            OffTopic:
            Ich glaub ich hab heute wieder nen Tag an dem ich nur Schei... laber! Aber nicht weitersagen

            Kommentar


            • #7
              @Blowfish: Der Ausdruck:

              $juhu == "34756" or $juhu = "46756" or $juhu = "34732"

              ergibt eh immer TRUE ... also warum setzt Du nicht gleich TRUE ein ... ??
              carpe noctem

              [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
              [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

              Kommentar


              • #8
                @Blowfish: Der Ausdruck:

                $juhu == "34756" or $juhu = "46756" or $juhu = "34732"

                ergibt eh immer TRUE ... also warum setzt Du nicht gleich TRUE ein ... ??
                unfug :-)

                wenn $juhu jetzt den wert "4711" oder "jodel" hat, ergibt obige bedingung kein true.

                es soll also abgeprüft werden, ob $juhu in einer bestimmten wertemenge liegt... da fällt mir gerade ein, könnte man das dann nicht viel einfacher mit der funktion in_array() überprüfen?

                aus der textdatei die einzelnen werte in ein array einlesen (mit explode()), un dann anschliessend einfach mit in_array() checken, ob's drin liegt.
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  kein unfug :-)

                  ausser er macht überall 2x == ansonsten ist es (so wie er blowfish) eine zuweisung, und damit immer true...

                  Kommentar


                  • #10
                    kein unfug :-)

                    ausser er macht überall 2x == ansonsten ist es (so wie er blowfish) eine zuweisung, und damit immer true...
                    ups, klar - zu schnell überflogen.
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      das das geht net :

                      eval(if($einfueg)
                      {
                      echo "blabla";
                      }
                      else
                      {
                      echo "bla";
                      });

                      auch net so :

                      eval(if($einfueg))
                      {
                      echo "blabla";
                      }
                      else
                      {
                      echo "bla";
                      };

                      naja wie war das mit int_array ? muss aba auch in ne bedingung passen ...
                      AGH

                      Kommentar


                      • #12
                        hmm hab für "in_array()" nix gefunden. kannst mal link zu ner beschreibung geben oder kannst erklären ?


                        EDIT : hab schon was gefunden, und hier is mein code :

                        <?
                        $array1 = file("user.txt");
                        if(in_array("hallo", $array1))
                        {
                        echo "juhuuuuuuuuu es funzt";
                        }
                        else
                        {
                        echo "och neeee";
                        }
                        ?>

                        er liefert mir false zurück obwohl hallo in der txt steht!

                        hier noc mein txt-inhalt :

                        8864
                        8602
                        8073
                        8673
                        hallo
                        lalala
                        uhh
                        (/n nach jedem array)
                        das lezte file kennt er aber alle anderen net!

                        weiss wer was da los is ?
                        Zuletzt geändert von blowfish; 27.01.2003, 12:37.
                        AGH

                        Kommentar


                        • #13
                          damit
                          $array1 = file("user.txt");
                          liest du den dateiinhalt in einen string ein, das ist aber noch lange kein array!

                          du musst erst mal sowas wie explode darauf anwenden, um ein array zu erhalten!
                          I don't believe in rebirth. Actually, I never did in my whole lives.

                          Kommentar


                          • #14
                            Mit file() kann man eine komplette Datei (filename) zeilenweise in ein Array
                            einlesen. Das Zeilenumbruchzeichen am Ende jeder Zeile wird als letztes Zeichen
                            n das entsprechende Array-Element übernommen.
                            Wird der optionale Parameter (use_include_path) auf 1 gesetzt, so wird auch
                            innerhalb des Include-Pfads (wird in der php.ini bestimmt) nach der Datei
                            gesucht.

                            -> zitat aus selfPHP

                            "$array1" ist sicher ein array!
                            AGH

                            Kommentar


                            • #15
                              oops... ok, mein fehler.

                              dann lass dir doch mal testweise direkt nach dem einlesen das array mit
                              print_r($array1);
                              ausgeben, ob da auch wirklich die erwarteten werte drinstehen, oder ob beim einlesen doch noch was anderes schiefgegangen ist.
                              I don't believe in rebirth. Actually, I never did in my whole lives.

                              Kommentar

                              Lädt...
                              X