oder klappt nicht

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

  • oder klappt nicht

    PHP-Code:
    $ergebnis = (strpos($file$text1) || strpos($file$text2))
        ? 
    'true'
        
    'false'
    Momentan wird es als und gehandelt. Es soll aber ein true kommen wenn die eine oder die andere erfüllt wird.

  • #2
    Re: oder klappt nicht

    Dein Ausdruck ergibt in beiden Fällen true - weil du in beiden Fällen einen Wert zurückgibst, der bei der Umwandlung in einen boole'schen Wert true ergibt.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Und wie kann ich das ändern?
      Muss ich mit if und elseif die beiden trennen oder gibt es da noch andere Möglichkeiten?

      Kommentar


      • #4
        Wie wär's damit
        PHP-Code:
        $ergebnis = (strpos($file$text1) || strpos($file$text2))
            ? 
        true
            
        false
        Gruss

        tobi
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #5
          edit.
          Bei nur text2 klappt es jetzt, aber wenn nur text1 da ist und 2 nicht, kommt wieder false
          Zuletzt geändert von ollimagic; 04.04.2007, 12:38.

          Kommentar


          • #6
            Welchen Rückgabewert strpos liefert, wenn sich das Gesuchte am Stringanfang befindet, solltest du auch berücksichtigen.
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Dann ist strpos($file, $text1) 0

              Kommentar


              • #8
                Dann ist strpos($file, $text1) 0
                und wenn du dann den Rückgabewert nur mit == prüfst wird dir das als false gewertet.
                Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                Kommentar


                • #9
                  Und wie kann ich das dann am besten machen?

                  Kommentar


                  • #10
                    ===
                    http://www.php.net/manual/de/languag...comparison.php
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      PHP-Code:
                       $ergebnis = (strpos($file$text1) || strpos($file$text2))
                          ? 
                      true
                          
                      false;

                      if(
                      $ergebnis == "true")
                          {
                      echo 
                      "OK";
                          }
                        else
                          {
                      echo 
                      "nicht OK";
                          } 
                      Wo soll ich da etwas vergleichen mit == btw ===

                      Kommentar


                      • #12
                        Original geschrieben von ollimagic
                        Wo soll ich da etwas vergleichen mit == btw ===
                        An einer Stelle, wo dies sinnvoll sein könnte vielleicht ...?


                        Dich interessiert, ob strpos wirklich keinen Treffer finden konnte, oder ob es 0 zurückgab, weil der Treffer sich ganz am Stringanfang befand.
                        I don't believe in rebirth. Actually, I never did in my whole lives.

                        Kommentar


                        • #13
                          PHP-Code:
                          $ergebnis = (strpos($file$text1) || strpos($file$text2))
                              ? 
                          true
                              
                          false;

                          if(
                          $ergebnis === false)
                              {
                          echo 
                          "nicht OK";
                              }

                            else
                              {
                          echo 
                          "OK";
                              } 
                          Geht auch nicht.

                          Kommentar


                          • #14
                            Original geschrieben von ollimagic
                            Geht auch nicht.
                            Ist ja auch der gleiche Käse.

                            Noch mal:
                            Das Ergebnis von strpos ist es, welches du typgenau überprüfen musst - also mach das auch.
                            Noch bevor du überhaupt zwei strpos-Ergebnisse per Oder verknüpfst.
                            Zuletzt geändert von wahsaga; 04.04.2007, 18:51.
                            I don't believe in rebirth. Actually, I never did in my whole lives.

                            Kommentar


                            • #15
                              Ich habe nicht einmal eine Idee, wie du das meinst.

                              Kommentar

                              Lädt...
                              X