首页 > 解决方案 > 我无法通过索引访问 $_POST 值

问题描述

我觉得我快疯了。我已经提交了以下包含这些输入的 POST 请求:

...
<textarea type='text' name='description["add"]></textarea>
<textarea type='text' name='description["modify"]></textarea>
<textarea type='text' name='description["delete"]></textarea>
...

当我使用 打印它们时print_f($_POST),这是输出:

[description] => Array
        (
            ["add"] => blah blah blah
            ["modify"] => bleh bleh bleh
            ["delete"] => bloh bloh bloh
        )

我想访问["add"]. 我尝试print_r($_POST['description']['add']但它一直没有返回!

如何访问 $_POST 数组的更深层次?我以为我知道的关于 php 的一切都是错误的!

我尝试过其他格式,例如$_POST['description']->add$_POST['description'][0]。两者都不返回。

我发现的唯一方法是使用 foreach 进行迭代。

foreach ($_POST['description' as $value) {
     print_r($value);
}

我错过了什么?请帮忙!!我要疯了。谢谢

标签: php

解决方案


HTML 数组索引["add"]中的引号将实际引号添加到 PHP 中的索引,因此您需要$_POST['description']['"add"'].

不要在 HTML 数组索引中使用引号name='description[add]',这样就可以了$_POST['description']['add']

此外,请确保在 name 周围使用结束引号'description[add]'


推荐阅读