当前位置: 首页 > 面试题库 >

PHP计数JSON数组

张银龙
2023-03-14
问题内容

我已经搜索了SO,但是找不到答案。我的PHP脚本正在通过http发布接收一些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"
  }
 ]}

如您所见,这里有3个项目,但是当我将它变成一个PHP数组对象并计算项目时,我返回1,应该为3,这是我的PHP代码:

$json_tasks = $_POST["json_array"];
$task_array = json_decode($json_tasks,true);
echo count($task_array);

echo count打印出“ 1”而不是“ 3”。


问题答案:

尝试 echo count($task_array['task']);

通常,如果您想知道变量值的结构是什么$var,请执行

<pre><?php var_export($var, true); ?></pre>

在替代品,如这个功能的优势serialize,并print_r是,它打印的PHP代码(并因此被人谁了解PHP(这很可能是,如果你在PHP程序)可读)。的缺点var_export是它不能处理圆形结构(例如if
$a->b == $a),但JSON都不能。



 类似资料:
  • 问题内容: 是否可以通过json_encode对这个php数组进行JSON转换?因为这个php数组被调用,当我做.. 在JavaScript中,它给了我错误。我想知道JSON可以/不能做什么类型的php数组是否有限制。 问题答案: 首先,您需要在安装了PHP的Apache服务器上的一个PHP文件。制作如下文件: 然后是您的JavaScript(在此示例中,我使用jQuery): 这应该是开始将PH

  • 问题内容: 我有一个json数组: 如何使用php遍历此数组? 问题答案: 如果需要关联数组,请将第二个函数参数设置为true 如果您需要关联数组,则某些版本的php需要true的第二个参数

  • 问题内容: 好的,我遇到了问题。我似乎无法在PHP中成功回显SQL Count。 SQL: PHP: 我已经尝试了两种在网上找到的不同方法(上述)。我什至尝试使用“ mysql_fetch_array($result,MYSQL_ASSOC)”,而不只是mysql_fetch_array($ result)。 每次,我都会收到相同的错误消息: /home/semsemx1/public_html/

  • 问题内容: 我需要将PHP数组转换为json,但我没有得到我期望的结果。我希望它是一个可以轻松使用数字索引导航的对象。这是一个示例代码: 这就是我得到的 但是我想得到一个对象而不是数组: 谢谢 :) 问题答案: 你想。 顾名思义,该标志将json输出强制为一个对象,即使通常将其表示为数组也是如此。 您还可以删除一些更简洁的代码:

  • 问题内容: 嗨,什么是计算XML文件中元素数量的最佳方法?就我而言,我想计算标签“ OfferNameList”中名称为“ OfferName”的XML标签的数量。 下面的XML包含在php变量$ offers中 谢谢您的帮助 问题答案: 与您可以使用 仅 计算 所有OfferName元素 。是的属性。 要计算 OfferNameList中的所有OfferName元素 ,可以使用 请注意,由于XP

  • 问题内容: myArray是: 我想将其转换为JSON,例如: 我试过了: 但这正在返回: 问题答案: 您的问题是非顺序索引。 Php数组必须具有要编码为JSON数组的索引。 您可以使用array_values重置数组键: