$val = !empty($_GET[$str]) ? $_GET[$str] : null; この文は
if else の変形です理解できましたか?
if(!empty($_GET[$str])) $val= $_GET[$str];else $val = null;
三項式
$val = !empty($_GET[$str]) ? $_GET[$str] : null; $_GET[$str] が空でない場合value) の場合は $val=$_GET[$str]
それ以外の場合は $val=null;