私は次のような配列を持っています:
$arr = array("a.b" => "a.b", "b.c" => "b.c");
これを印刷すると、単に表示されます
Array ( [a.b] => a.b [b.c] => b.c )
しかし、ループを使用してチェックボックスの名前と値にキーと値を使用すると、次のようになります。
<form action="" method="post">
<ul>
<?php
foreach($arr as $k => $v){?>
<li><input type="checkbox" name="<?php echo $v;?>" value="<?php echo $k;?>"><?php echo $v;?></li>
<?php }?>
</ul>
<input name="sub" type="submit"/>
</form>
送信ボタンを押すと、結果は次のように表示されます。
Array ( [a_b] => a.b [b_c] => b.c [sub] => Submit )
出力配列を確認すると、キーが変更され、ドット (.) が_に置き換えられます。
なんでこうなる??