Ich würde einen einfachen einzeiligen Vergleich für diese Anwendungsfälle verwenden
$username = trim($_POST['userName'])?:'Anonymous';
Dies ist für den Anwendungsfall, dass Sie sicher sind, dass die Fehlerprotokollierung ausgeschaltet ist, damit Sie keine Warnung erhalten, dass die Variable nicht initialisiert ist.
Dies ist die paranoide Version:
$username = !empty(trim(isset($_POST['userName'])?$_POST['userName']:''))?$_POST['userName']:'Anonymous';
Damit wird eine Prüfung implementiert, ob die $_POST
vor dem Zugriff auf die Variable gesetzt wird.