And*_*Dev 7 php arrays json http-post
我搜索了SO但找不到答案.我的PHP脚本正在通过http post接收一些JSON,如下所示:
{
"task": [
{
"task_id": "3",
"task_due": "Oct 26 11:25",
"task_completed": "FALSE",
"task_desc": "fff",
"task_time": "20131026_112531",
"task_name": "fff"
},
{
"task_id": "2",
"task_due": "Oct 26 11:25",
"task_completed": "FALSE",
"task_desc": "rff",
"task_time": "20131026_112522",
"task_name": "xff"
},
{
"task_id": "1",
"task_due": "Oct 26 11:25",
"task_completed": "FALSE",
"task_desc": "fggg",
"task_time": "20131026_112516",
"task_name": "ff"
}
]}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,有3个项目,但是当我将其转换为PHP数组对象并计算项目时,我返回1,当它应该是3时,这是我的PHP代码:
$json_tasks = $_POST["json_array"];
$task_array = json_decode($json_tasks,true);
echo count($task_array);
Run Code Online (Sandbox Code Playgroud)
并echo count打印出"1",而不是"3".
Osw*_*ald 13
尝试 echo count($task_array['task']);
一般来说,如果你想知道变量值的结构是什么,那就$var做一个
<pre><?php var_export($var, true); ?></pre>
Run Code Online (Sandbox Code Playgroud)
在替代品,如这个功能的优势serialize,并print_r是,它打印的PHP代码(并因此被人谁了解PHP(如果你在PHP程序),这很可能是可读的).缺点var_export是,它不能处理循环结构(例如if $a->b == $a),但JSON也不能.
项目3位于1item中"task",因此您有一个名为 task 的数组,其中包含 3 个元素
尝试
echo count($task_array['task']);
Run Code Online (Sandbox Code Playgroud)
编辑 :
请使用下面的代码以正确的模式打印数组
echo '<pre>';
print_r($task_array['task']);
exit();
Run Code Online (Sandbox Code Playgroud)
小智 5
$task_array = json_decode($json_tasks);
count($task_array->task);
Run Code Online (Sandbox Code Playgroud)
例如:3
来自台湾