Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 表单提交后不支持将点(.)作为数组键字符_Php_Arrays_Array Key - Fatal编程技术网

Php 表单提交后不支持将点(.)作为数组键字符

Php 表单提交后不支持将点(.)作为数组键字符,php,arrays,array-key,Php,Arrays,Array Key,我有这样一个数组: $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){?&

我有这样一个数组:

$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>
查看输出数组,键已更改,点(.)替换为

为什么会发生这种情况???

请看

变量名中的点和空格转换为下划线。例如,
变成了$\u请求[“a\u b”]


您可以通过使用file\u get\u contents('php://input'); 然后,如果无法避免GET或POST变量名中的点,请自行读取和解析输入。

此变量名的可能重复项您的意思可能是仅用于
register\u global
索引更改了带下划线的点??
Array ( [a_b] => a.b [b_c] => b.c [sub] => Submit )