三項演算子でつまづく

PHP三項演算子は、ちょっとJavaScriptのと違う。

余計に括弧が必要だ
PHP

$state = isset ($_GET['ID'])
         ? (empty ($_GET['ID'])
           ? 'clear'
           : 'view')
         : (isset ($_POST['ID'])
           ? (empty ($_POST['ID'])
             ? 'new&register'
             : 'register')
           : 'list');


JavaScript (isset, empty なんて無いけどね)

var state = isset ($_GET['ID'])
         ? empty ($_GET['ID'])
           ? 'clear'
           : 'view'
         : isset ($_POST['ID'])
           ? empty ($_POST['ID'])
             ? 'new&register'
             : 'register'
           : 'list';