To akurat wiedziałem...

Chodziło mi bardziej, czy "!" w if można stosować z wartościami typu innego niż bool? Czy istnieją jakieś wytyczne w tego rodzaju sytuacjach?
Bo jeśli w if jest string, to przyrównuję do stringa: if ($string !== '').
Jeśli jest int, to przyrównuję do liczby: if ($int >= 1).
A tu zwraca mi wartość int (1, 0) lub bool (false). Czy właściwy jest zapis z "!" bądź powinno być if (preg_match() !== 1)?