PHP:奇怪的数组问题 - 我的价值在哪里?

Bla*_*laM 0 php arrays http-post-vars

我有一个数组($ form)从$ _POST中检索一些信息:

$form = $_POST['game'];
Run Code Online (Sandbox Code Playgroud)

现在我想使用这个数组中的值,但我不知何故失败了.

为了调试我使用了这些命令(按照完全相同的顺序,中间没有额外的行):

print_r($form);
echo '#' . $form['System_ID'] . "#";
Run Code Online (Sandbox Code Playgroud)

作为返回的输出我得到:

Array
(
    ['Title'] => Empire: Total War - Special Forces
    ['Genre_ID'] => 1
    ['Type'] => Spiel
    ['System_ID'] => 1
)
##
Run Code Online (Sandbox Code Playgroud)

我的System_ID去过哪些想法?它在print_r中,但不在下一行中用于echo?!?

Bla*_*laM 8

好吧,我自己找到了解决方案(又名我哦!)

我又添了一个

var_dump($form);
Run Code Online (Sandbox Code Playgroud)

进一步分析,这就是我得到的:

array(4) {
  ["'Title'"]=>
  string(34) "Empire: Total War - Special Forces"
  ["'Genre_ID'"]=>
  string(1) "1"
  ["'Type'"]=>
  string(5) "Spiel"
  ["'System_ID'"]=>
  string(1) "1"
}
Run Code Online (Sandbox Code Playgroud)

请注意双引号内的单引号?

看起来好像你不允许在html表单中使用单引号,或者它们将包含在数组键中:

Wrong: <input type="text" name="game['Title']" />
Correct: <input type="text" name="game[Title]" />
Run Code Online (Sandbox Code Playgroud)