加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – $_POST空格转换为下划线

发布时间:2020-12-13 22:20:59 所属栏目:PHP教程 来源:网络整理
导读:我有一个 HTML下拉菜单,看起来像这样 select name='not working random test!'option value='0'Select quantity:/optionoption value='1'1 room/optionoption value='2'2 rooms/option/select 甚至有可能,如果我是var_dumping $_POST,我会看到类似的东西吗?
我有一个 HTML下拉菜单,看起来像这样

<select name='not working random test!'>
<option value='0'>Select quantity:</option>
<option value='1'>1 room</option>
<option value='2'>2 rooms</option>
</select>

甚至有可能,如果我是var_dumping $_POST,我会看到类似的东西吗?

["not_working_random_test!"]=>
string(1) "1"

这引起了我的引擎的一些麻烦:我希望我为select指定的名称是相同的.为什么这不会发生?

解决方法

这是标准的PHP行为.从 documentation:

Dots and spaces in variable names are converted to underscores. For example <input name="a.b" /> becomes $_REQUEST["a_b"].

PHP转换为_(下划线)的字段名称字符的完整列表如下(不仅仅是点):

> chr(32)(空格)
> chr(46). (点)
> chr(91)[(方括号)
> chr(128) – chr(159)(各种)

如果同时存在打开和关闭方括号,则不会转换它们,但$_POST元素将成为数组元素.

<input name='hor[se'>
<input name='hor[se]'>

会变成:

$_POST['hor_se'];
$_POST['hor']['se'];

:: Reference

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读