Falsche IF Abfrage?

  • Antworten:3
  • Bentwortet
Gelöschter Account
  • Forum-Beiträge: 136

29.05.2011, 20:16:29 via Website

Hallo zusammen,

bekomme von meiner PHP Datei "true" zurück, wenn bestimmte Daten vorhanden sind und "false" wenn nicht. Ich weiß zu 100%, dass mein String result "true" enthält. Um dies dann weiter abzufragen, habe ich folgende If-Abfrage geschrieben:

1if(result == "true"){
2
3} else {}

Aber der Code, der ausgeführt werden soll, wenns true ist, wird nie ausgeführt. Warum? Dort sind keine Leerzeichen etc. vorhanden. Sehe ich den Wald vor lauter Bäumen nicht? Es gibt auch keine Fehlermeldung.


Grüße,
Malte

Antworten
Maximilian O
  • Forum-Beiträge: 990

30.05.2011, 20:58:20 via Website

Hatte auch mal das Problem, schau mal genau nach, in der Variable steht wohl true\n, das kommt daher das beim echo ein Zeilenumbruch mit ausgegeben wird.
MfG Maximilian

Vergiss nie wieder Geburtstage, oder viel schlimmer, deinen Hochzeitstag - Birthdays Download

Antworten
Rafael K.
  • Forum-Beiträge: 2.359

30.05.2011, 21:38:16 via Website

Maximilian O.
Hatte auch mal das Problem, schau mal genau nach, in der Variable steht wohl true\n, das kommt daher das beim echo ein Zeilenumbruch mit ausgegeben wird.
MfG Maximilian

Eher nicht, die Antwort von ManuMaticx war schon richtig :)

== vergleicht ob es sich um die gleichen Instanzen handelt und das ist bei Strings nicht vom Inhalt abhängig!

1"MyString" == "MyString"

KANN true liefern, muss aber nicht. (Das hängt davon ab, ob der Compiler die gleichen Strings erkennt und auf eine String-Instanz abbildet)

1"MyString".equals("MyString")

liefert IMMER true

Strings (und auch andere Objekte) anhand des Inhalts vergleicht man mit .equals()

— geändert am 30.05.2011, 21:39:00

Antworten