Einfache If Anweisung, was mach ich falsch ?

rollerueckwaerts

Erfahrenes Mitglied
Hallo,
hab hier ne if anweisung die theoretisch NICHT erfüllt werden kann, doch trotzdem wird sie es, aber ich weiß nicht warum !


PHP:
echo $my->usertype;               (=>Author)
echo $my->id;                     (=>189)
echo $profileid;                  (=>189)


if (($my->usertype !== 'Registered') && ($my->id !== $profileid)) {
echo "test";
}


weiß nich worans liegt, dachte ich hab mittlerweile was gelernt mit php, aber irgendwie ?!:confused:


Lieben Dank schomal jetz

greetz
tobi
 
Zuletzt bearbeitet:
Du vergleichst dort auch die Typen....bist du sicher, dass sowohl $my->id als auch $profileid vom selben Typ sind?
Code:
<?php
$var1=0815;//Integer
$var2="0815";//String
echo ($var1!==$var2)
        ? 'unterschiedliche Typen, vergleich schlägt fehl'
        : 'identische Typen, vergleich erfolgreich';
?>
 
vom selben Typ ? Bin mir jetz nich sicher was du meinst.

Also die profileid ist die ID des Benutzerprofils, die hol ich mir vor der Anweisung per _GET aus der Url.

Die my->id ist die Id des Nutzers der gerade das Profil besucht.
 
Ok, wenn du das eine aus der URL holst, ist es ein String....das andere hast du in der DB sicher als INT gespeichert....deswegen schlägt der Vergleich fehl.

Würdest du nur != verwenden, würde es wie gewünscht funktionieren, weil dann nur die Werte, aber nicht die Typen verglichen werden.
 
Hey Merzi hattest Recht,
das wundert mich jetz aber doch, hab oft !== verwendet und hatte auch immer das Gefühl das es ging *schäm*

Jetz muss mir aber mal einer den Unterschied erklären.

Sven, wenn jetz also beide Werte gleichen Typen hätte würds also gehen ?
 
Aha gut zu wissen.
Wie gesagt kannte das bisher noch nicht.
Hab mir das nur soweit von dem abgeleitet, was Sven gesagt hat.
 
Zurück