PHP Doc (http://php.net/manual/en/language.operators.bitwise.php) четко указывает:
~ $a Not Bits that are set in $a are not set, and vice versa.
Так почему я получаю фатальную ошибку при попытке запустить следующую строку?
~ $noResults;
TIA
Вы получаете эту ошибку, потому что $noResults не является целым числом (или строкой, но это только из-за неявного приведения типов).
$noResults
~ будет работать с числами и строками, не может работать с объектами и массивами.
~
И переменная для отрицания ДОЛЖНА быть установлена.
echo ~ $a; // won't work
тогда
$a = ''; echo ~ $a; // will work
и
$a; echo ~$a; // will work too.
У меня с этим нет проблем:
$a = 5; $a = ~ $a; echo $a; // -6
Вы уверены, что $noResults является целым числом?