如何发布具有特殊字符的数组键?

时间:2017-09-27 17:13:25

标签: php html arrays

我有一个包含一些特殊字符作为键的表单。  以下是一个例子:

<input type="text" name="skills[React.js]" placeholder="Years" class="form-control">
<input type="text" name="skills[Responsive-Web-Design-(RWD)]" placeholder="Years" class="form-control">

当我发布表单时,我得到0:值,1:值 而不是React.js:value,Responsive-Web-Design-(RWD):value

有没有人可能知道任何变通办法?

任何帮助都会非常感激!

2 个答案:

答案 0 :(得分:0)

要获得所需的输出,文本输入应该是这样的

MyApp#stop(...)

在服务器端,收到这些值

<input type="text" name="skills[]"  
 placeholder="Years" class="form-control"
 value="React.js"> 

 <input type="text" name="skills[]"   
  placeholder="Years" class="form-control"
  value="Responsive-Web-Design-(RWD)">

答案 1 :(得分:0)

以下是使用vanilla PHP

的方法
<?php

$topics = [
    1 => 'React.js',
    2 => 'Responsive-Web-Design-(RWD)'
]

?>

<?php foreach ($topics as $key => $label) { ?>
    <input type="text" name="skills[<?php echo $key; ?>]" placeholder="Years" class="form-control">
<?php } ?>

提交的请求应包含:

[
    'skills' => [
        1 => 'first field value',
        2 => 'second field value',
    ]
]

所以按照你想要的方式得到它:

$skills = [];

foreach($_POST['skills'] as $key => $value) {
    $skills[$topics[$key]] = $value;
}

$result数组现在包含:

[
    'React.js' => 'value 1',
    'Responsive-Web-Design-(RWD)' => 'value 2'
]