[PHP-users 1021] Re: フォームで多次元の配列に値を受け取るには

SUMi php-users@php.gr.jp
Thu, 02 Aug 2001 11:27:53 +0900


SUMiです。

> フォームで多次元の配列に値を受け取るにはどのようにすればよいのでしょうか?
> また、もしそのようなことができない場合は、どのように処理するのが簡単でしょう
> か。もしダメならば、可変変数を利用すれば少しは楽になりそうかな、と思っていま
> す。

可変変数を使うのがいいのではないでしょうか?
私が以前に多次元の配列を受け取ろうとしたときは
<input type="text" name="val_1_1">
<input type="text" name="val_1_2">
<input type="text" name="val_2_1">
<input type="text" name="val_2_2">
のようなフォームにし、受け取る側のスクリプトの先頭にこれらを配列へ格納す
る処理を書きました。

簡単に書くと
$row = 2;
$col = 2;
for( $i = 0; $i < $row; $i ++ )
{
  for( $j = 0; $j < $col; $j ++ )
  {
    $name = 'val_'.$i.'_'.$j;
    if( isset( $$name ) )
    {
      $arVal[$i][$j] = $$name;
    }
  }
}
という具合です。
# 必要に応じて改造してください…