我以前在执行这些操作时从未见过这种情况,也找不到导致这种独特行为的原因。我的变量周围有额外的单引号,例如“foo”而不是“foo”。展示可能更有意义。
这是我的意见 (注意是数组,这个是必须的)
<input type="text" name="item[0]['foo']" value="bar">
这是我的 Controller (请注意,我正在使用 foreach 遍历数组)
foreach ($_POST['item'] as $item) {
var_dump($item);
}
这是我的 var_dump (注意额外的单引号,是的,它们是单引号而不是双引号)
array (size=2)
''foo'' => string 'bar' (length=4)
''key'' => string 'value' (length=4)
显然我们应该期待它是
array (size=2)
'foo' => string 'bar' (length=4)
'key' => string 'value' (length=4)
除了 twitter bootstrap CSS 之外,我没有使用任何外部资源或框架。我用的是php 5.5,其他地方没有接触到这个变量。
这些额外的单引号来自哪里?
最佳答案
不要在您的 HTML 中包含单引号,它们是按字面意思使用的。使用
<input type="text" name="item[0][foo]" value="bar">
应该修复它。
关于PHP,我的值的已发布键在每一侧都被额外的单引号包裹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29754167/