Jeśli chodzi o prędkość, zgadzam się z Nielsem, to prawdopodobnie nieistotne.
Jeśli chodzi o to, w której instrukcji najlepiej przetestować, odpowiedź prawdopodobnie zależy od oczekiwanego rzutowania i wartości, które może mieć zmienna $.
Jeśli zmienna $ używa 0 i 1 jako flagi prawdziwej/fałszywej, wtedy jeśli (zmienna $) lub jeśli (! $ Zmienna) działałaby, ale jeśli jest to wynik całkowity jak w strpos(), wpadniesz na problemy ... jeśli to możliwe, polecam używanie rzeczywistej wartości boolowskiej zamiast 0/1.
... może to pomoże wyjaśnić; skomentuj wariacje $ var, aby zobaczyć różne wyniki.
<?php
$var = true;
$var = 1;
$var = false;
$var = 0;
if ($var) {
echo 'var = true <br />';
}
if ($var === true) {
echo 'var is a boolean and = true';
}
if (!$var) {
echo 'var = false <br />';
}
if ($var === false) {
echo 'var is a boolean and = false';
}
Próbowałem i nie mogę potwierdzić Twojego roszczenia. –