Thread ("string" ne "string") = (true && false): StringCompare mit eq/ne... (9 answers)
Opened by BratHering at 2005-04-28 13:41

BratHering
 2005-04-28 13:41
#54295 #54295
User since
2005-04-28
155 Artikel
BenutzerIn
[default_avatar]
hallo,
ich bin ein Perlianer and new to this board.

in mener freizeit versuche ich mich am programmieren von nützlichen tools für meine Gam0r-Community.
bisher hat auch alles wunderbar funktioniert, doch an meinem aktuellen Projekt scheitere ich beim vergleichen von Strings.

ich sehe den fehler falls da einer ist überhaupt nicht.
bin schon ganz verzweifelt.

also hier mein problem:
- ich habe eine liste mit string signaturen: @strSelectedMods
- die signaturen sehen z.B. so aus:
Code: (dl )
1
2
3
{"CSM by Gunslinger ### 1.3"}
{"German_Soldiers_Mod_2.2 ### "}
{"Storm over Europe ### 1.2.0.0"}

- desweiteren habe ich eine liste mit objekten, zu denen die signaturen gehören: @objModList
- diese objekte haben eine methode: getModSig

- ich möchte alle signaturen aus @strSelectedMods mit den signaturen aller Mods vergleichen.
- etwa so (innerhalb von zwei ineinander verschachtelten for-schleifen):
Code: (dl )
1
2
3
4
5
if($strSelectedMods[$i] ne $objModList[$j]->getModSig)

bzw.

if($strSelectedMods[$i] eq $objModList[$j]->getModSig)

- dabei habe ich festgestellt, dass "eq" immer das richtige zurückliefert (TRUE oder FALSE / 1 oder nix).
- aber "ne" liefert immer TRUE / 1 zurück obwohl das nicht sein dürfte???
- wenn schon "eq" nicht auf alles TRUE zurückgibt, dann müsste "ne" nur auf das übrige TRUE zurückliefern.
- überprüft habe ich das mit:
Code: (dl )
1
2
3
4
5
print ($strSelectedMods[$i] ne $objModList[$j]->getModSig);

bzw.

print ($strSelectedMods[$i] eq $objModList[$j]->getModSig);

- kann mir jemand das verhalten von "ne" erklären?


mfg
Br@tHering\n\n

<!--EDIT|BratHering|1114681341-->

View full thread ("string" ne "string") = (true && false): StringCompare mit eq/ne...