Hallo Rolf,
Wenn Dir Notices egal sind (weil unterdrückt), kannst Du Dir das Leben ab PHP 7 mit dem null coalescing operator weiter vereinfachen:
$p = $_GET['p'] ?? $_POST['p'];
Laut Manual ist der Operator ein 1:1-Ersatz für if(isset())
-Konstrukte und wirft keine Notices, auch wenn der Array-Index nicht existiert:
„In particular, this operator does not emit a notice if the left-hand side value does not exist, just like isset(). This is especially useful on array keys.“
Gruß
Julius