if you try this script you'll see that the php reads the first ] as the closure to the first [... hence the formvar array as the hidden var comes out all wrong. <form action="testsubmit.php"> <input type="hidden" name="formvar[params[]]" value="1"> <input type="submit"> </form> <pre> <?php var_dump($_REQUEST);