Gleichheit nach Wert und Typ in PHP
Angenommen, Sie möchten so vergleichen, dass die Zahl
in Anführungszeichen nicht gleich der gleichen Zahl
ohne Anführungszeichen ist. Mit anderen Worten, Sie möchten
so vergleichen, dass der Vergleich nicht nur
nach dem Wert, sondern auch nach dem Datentyp erfolgt. Dafür
sollte anstelle des Operators == der
Operator === verwendet werden. Der Vergleich mit einem solchen Operator
wird als strikt bezeichnet.
Sehen Sie sich das Beispiel an:
<?php
if ('3' === 3) {
echo '+++';
} else {
echo '---'; // das wird ausgeführt, da die Werte im Typ nicht gleich sind
}
?>
Bei einem Vergleich der beiden Zeichenketten '3'
wird jedoch '+' auf dem Bildschirm ausgegeben:
<?php
if ('3' === '3') {
echo '+++'; // das wird ausgeführt
} else {
echo '---';
}
?>
Genauso wie beim Vergleich von Zahlen:
<?php
if (3 === 3) {
echo '+++'; // das wird ausgeführt
} else {
echo '---';
}
?>
Der Unterschied zwischen den beiden Operatoren zeigt sich genau dann, wenn die Werte gleich sind, aber der Datentyp unterschiedlich ist. In allen anderen Fällen arbeiten diese Operatoren gleich. Zum Beispiel wird beim Vergleich unterschiedlicher Zahlen natürlich ein Minus ausgegeben:
<?php
if (2 === 3) {
echo '+++';
} else {
echo '---'; // das wird ausgeführt
}
?>
Heutzutage ist es in PHP allgemein üblich, überall den strikten Vergleich zu verwenden. Man geht davon aus, dass der Code in diesem Fall weniger anfällig für Fehler ist.
Bestimmen Sie, ohne den Code auszuführen, was auf dem Bildschirm ausgegeben wird:
<?php
$test1 = '3';
$test2 = '3';
if ($test1 == $test2) {
echo '+++';
} else {
echo '---';
}
?>
Bestimmen Sie, ohne den Code auszuführen, was auf dem Bildschirm ausgegeben wird:
<?php
$test1 = '3';
$test2 = '3';
if ($test1 === $test2) {
echo '+++';
} else {
echo '---';
}
?>
Bestimmen Sie, ohne den Code auszuführen, was auf dem Bildschirm ausgegeben wird:
<?php
$test1 = 3;
$test2 = '3';
if ($test1 == $test2) {
echo '+++';
} else {
echo '---';
}
?>
Bestimmen Sie, ohne den Code auszuführen, was auf dem Bildschirm ausgegeben wird:
<?php
$test1 = 3;
$test2 = '3';
if ($test1 === $test2) {
echo '+++';
} else {
echo '---';
}
?>
Bestimmen Sie, ohne den Code auszuführen, was auf dem Bildschirm ausgegeben wird:
<?php
$test1 = 3;
$test2 = 3;
if ($test1 === $test2) {
echo '+++';
} else {
echo '---';
}
?>