我从HTML表单中获取多维数组。当我想获得单个值时,例如
$chapters = $_POST["chapters"];
echo $chapters[0]["title"];
它说未定义索引title
。
当我打印数组时,它显示为
Array
(
[chapters] => Array
(
[0] => Array
(
['title'] => this is title
['text'] => this is text
['photo'] => this is photo source
['photo_caption'] => photo caption
)
)
)
答案 0 :(得分:5)
根据您的意见,问题似乎如下:
print_r
从不打印字符串键的引号。如果你没有以某种方式操纵输出,那么它只能意味着单引号实际上是键的一部分。
这应该有效:
echo $chapters[0]["'title'"];
但你能更好地修理钥匙。
来自你的评论:
问题是我在html表单中使用单引号(
name="chapter[0]['photo_caption']"
),更正为name="chapter[0][photo_caption]"
解决了问题
答案 1 :(得分:4)
根据您的输出,您应该使用$chapters["chapters"][0]["title"]
。
请注意,您的输出中有3个嵌套数组,因此您需要深入3个级别才能获得您的值。
答案 2 :(得分:0)
实施例 -
echo "<input type='hidden' name= userprogramscholarship[$user->id]['checkstatus'] value= $val />";
我更正并删除了以下引号
echo "<input type='hidden' name= userprogramscholarship[$user->id][checkstatus] value= $val />";
这是一个小错误。删除了引号,然后就可以了。