Я второй давал решение использовать @ подавление ошибок, что более читабельно:
$ num = @ $ _ REQUEST ['num']?: 7;
.. или ..
$ num = (array_key_exists ('num', $ _REQUEST))?$ _REQUEST ['num']: 7;
Я знаю, что предпочел бы прочитать, если бы пытался понять чужой код.Я думаю, что он обеспечивает счастливую середину между установкой error_reporting в E_ALL & ~ E_NOTICE (очень плохо) и приведенным выше шаблоном кода.