php - 如何在具有 'complex' 结构的 php 中使用 json?

标签 php arrays json multidimensional-array

我想为我的数据使用 json + php。我阅读了更多文档来执行此操作,基本函数是 json_decode() 和 json_encode()。我的问题是,阅读更多文档并阅读不同的结构示例让我产生了很多疑问。

我想从基础到容器创建一个像这样的结构:

  • 有一个 Base,它有两个属性:id 和 value
  • 有一个可以有多个Base的Operation
  • 有一个命令可以有多个操作(如果可能的话还有一个属性名称)

我脑子里的结构是这样的……

[ //The start of Commands

  //Can make a property name here like "name":"puls1"
  [ //Operation1
 { //Base1
   "id":"22398",
   "value":"255"
 },
 { //Base2
   "id":"22657",
   "value":"80",
 },
 { //Base3
   "id":"7928",
   "valore":"15"
 }
  ],

  [ //Operation2
 { //Base1
   "id":"22398",
   "value":"0"
 },
 { //Base2
   "id":"22657",
   "value":"0",
 },
 { //Base3
   "id":"7928",
   "valore":"0"
 }
  ],

] //The close of Commands

但是我认为 [ 和 { 的顺序不正确...... 我怎样才能制作这样的json结构?在设置命令以插入新操作或删除操作之后?

非常感谢..

//根据我编写这段代码的回答确定

class Base 
{
  var $i;
  var $value;

  function __construct($i,$v) 
  {
   $this->id = $i;
   $this->value = $v;
   }
}

$a = new Base('1','11');
$b = new Base('2','10');
$c = new Base ('3','20');
$d = new Base ('4','30');

class Operation
{
  var $name;
  var $values = Array();

  function __construct($a) 
  {
   $this->name = $a;
  }

  public function addArray($a)
  {
   array_push($this->values,$a);
  } 
}

$oper1 = new Operation("op1");
$oper1->addArray($a);
$oper1->addArray($b);

$oper2= new Operation("op2");
$oper2->addArray($c);
$oper2->addArray($d);

$commands = Array($oper1,$oper2);

echo json_encode($tot);

现在的问题是如何进行还原操作?这样使用 json_decode 并封装在其适当的结构中?

最佳答案

json列表类型[]相当于php中没有key的数组

json 字典类型 {} 等于 php 中的键控数组。

你想要的是这样的:

$json = array(
   array(
     array('id' => $num, 'value' => $val), // Base 1
     array('id' => $num_1, 'value' => $val_1), // Base 3
     array('id' => $num_2, 'value' => $val_2), // Base 2
   ),
   array(...),
   array(...),
);

关于php - 如何在具有 'complex' 结构的 php 中使用 json?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4163010/

相关文章:

php - 使用 PHP 动态导航 header 时嵌套的 div 被推到容器 div 下面

php - HTML 表单验证 : 'required' tag

php - "Notice: Undefined variable"、 "Notice: Undefined index"、 "Warning: Undefined array key"和 "Notice: Undefined offset"使用 PHP

php - 非常小的、持久的数据结构

php - 代码挑战 : Convert var_dump of array to json

javascript - JSON 数据不使用 .html() 显示

php - .htaccess 中定义的操作不执行

javascript - 拆分多个数组 json 字符串

java - 通用数组在直接引用时抛出 ClassCastException(在通过辅助方法调用时不会抛出)

javascript - d3.js 中的简单条形图