【发布时间】:2014-04-02 20:52:10
【问题描述】:
我正在尝试获取存储在textarea 中的 json 对象并将其转换为 php 数组。我将 textarea 的值分配给像 $data = $_POST[‘data’] 这样的变量。当我提交文本的值时,我使用json_decode($data, true) 将 JSON 对象转换为 php 数组。但什么也没有发生。似乎没有分配任何内容。我怎样才能实现上述目标?
编辑:我在下面添加了引号并提出了建议但不起作用: DEMO
PHP
if(isset($_POST['submit'])) {
$data = $_POST['data'];
$personArray = json_decode($data, true);
print_r($personArray);
}
HTML
<textarea name="data">[{
"firstName": "Jenny",
"lastName": "LaRusso",
"phone": "(555) 121-2121",
"alt_phone": "(555) 123-4567",
"main1": false,
"main2": true
}, {
"firstName": "Sensei",
"lastName": "Miyagi",
"phone": "(555) 444-2222",
"alt_phone": "(555) 999-1212",
"main1": true,
"main2": false
}]</textarea>
【问题讨论】:
-
只是好奇。您在提交之前注意到您的 textarea 内容了吗?
-
HTML 看起来不错,但您检查过
$_POST['data']包含的内容吗?这就是您要处理的数据,无论它来自哪里。 -
第二个。尝试在解析之前打印出您的输入。
var_dump($_POST['data'])应该这样做。 -
旁注,在大多数情况下验证非常重要,这里有一个很好的解决 texarea 中 json 验证的方法:stackoverflow.com/questions/6041741/…
标签: php