Seite 1 von 1

PHP Stringvergleich

Verfasst: 30.05.2004 20:57
von dek
Kann mir jemand sagen wieso der folgende Codeabschnitt am Ende "1.30" ausgibt? Erwarten würde ich "1.40". Vermutlich habe ich da ein tiefgreifendes Verständnisproblem.. :-?

Code: Alles auswählen

$version = "1.40";
if( $version != "1.30" || $version != "1.40"  ) $version = "1.30";
echo "$version";

Verfasst: 30.05.2004 21:06
von RubberDuck

Code: Alles auswählen

$version = "1.40"; 
if( $version != "1.30" || $version != "1.40"  ) $version = "1.30"; 
echo "$version"; 
Ich würde es mal so probieren

Code: Alles auswählen

$version = "1.40";
if ($version != "1.30" || $version != "1.40") {
   $version = "1.30";
}
echo $version;
So scheint es zu gehen.

Verfasst: 30.05.2004 21:07
von jasc
Also ich würde deinen Code in Worten so verstehen:

$version bekommt den Wert 1.40
Wenn $version nicht den Wert 1.30 oder 1.40 hat, dann bekommt es den Wert 1.30
Es wird 1.30 ausgegeben, da $version nicht den Wert 1.30 hatte und ihn deswegen zugewiesen bekam.

Verfasst: 30.05.2004 21:22
von dek
jasc hat geschrieben:Also ich würde deinen Code in Worten so verstehen:

$version bekommt den Wert 1.40
Wenn $version nicht den Wert 1.30 oder 1.40 hat, dann bekommt es den Wert 1.30
Es wird 1.30 ausgegeben, da $version nicht den Wert 1.30 hatte und ihn deswegen zugewiesen bekam.
Du hast natürlich recht. War einfach ein Denkfehler meinerseits. Was ich erreichen wollte war, dass "1.30" ausgegeben wird, falls $version weder "1.30", noch "1.40" ist. Mit "&&" statt "||" klappt das dann auch.. :oops:

Danke