PHPで同一名パラメータを送信する方法

PHPをちょいとやる機会があったのでメモ。(PHPに関しては超初心者なのです)

次のような同一名チェックボックスがある場合、サブミットしてPHPで配列として受け取るのにちょっと悩んだ。

<input name="hoge" type="checkbox" value="1">
<input name="hoge" type="checkbox" value="2">
<input name="hoge" type="checkbox" value="3">

普段Javaやってると、こんなデータをサブミットしても、HttpServletRequestで普通にとれちゃう。

String[] hoge1 = request.getParameterValues("hoge");

PHPの場合、どうもそのまま配列で取れないみたいで、取ったとしても最後の「3」しか入ってなかった。
んで、PHPではこんな場合どうするかというと、inputタグのnameに[]をつけておけば解決するらしいとのこと。

<input name="hoge[]" type="checkbox" value="1">
<input name="hoge[]" type="checkbox" value="2">
<input name="hoge[]" type="checkbox" value="3">

受けのPHP側ではこんな感じでとれます。

$hoges = $_POST['hoge'];
foreach($hoges as $hoge) {
  echo "$hoge <br/>";
}