Kan iemand mij uitleggen wat het resultaat en nut van de volgende expressie zou kunnen zijn: !object->naam != 'Naam'
-- == +

dus

!$var != 1

staat gelijk aan

$var == 1


of ik moet het verkeerd zien , its early

Bedankt voor je reactie, maar als het zo makkelijk was, dan had ik deze vraag niet hoeven stellen.

Zoals je uit mijn voorbeeld kunt afleiden, gaat het hier om twee strings die met elkaar worden vergeleken. Volgens de PHP operator precendence regels, gaat de eerste negatie (unary) vóór de tweede (comparison), want er staan immers nergens haken omheen. Het resultaat van de eerste negatie is een boolean en die wordt vervolgens vergeleken met een string. Volgens mij kan dat nooit iets zinnigs opleveren. Vandaar dat ik niet alleen graag wil weten wat het resultaat maar ook wat het nut van de expressie is.
Het is niet helemaal hetzelfde:
<?php
$naam1 = 'naam1';
$naam2 = 'naam2';

echo '<p>test 1</p>';
if (!$naam1 != $naam2) {
echo 'if';
}
else {
echo 'else';
}
echo '<p>test 2</p>';
if (!($naam1 != $naam2)) {
echo 'if';
}
else {
echo 'else';
}
?>
output:
test 1
if

test 2
else

Als de twee waarden ongelijk zijn, komt er bij test 1 toch een 'if' uit.

[edit]Het gaat hier om een vergelijking met een string, en uit de ! operator komt sowieso een boolean, dus ik vind het geen zinvolle expressie[/edit]

Reageren