Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP将嵌套集数组转换为json父级子级_Php_Arrays_Json_Nested_Hierarchical Data - Fatal编程技术网

使用PHP将嵌套集数组转换为json父级子级

使用PHP将嵌套集数组转换为json父级子级,php,arrays,json,nested,hierarchical-data,Php,Arrays,Json,Nested,Hierarchical Data,我在嵌套集模型中有一个数组,我需要将该数组转换为具有无限级别的json父级子级 阵列示例: array(6) { [0]=> array(8) { ["title"]=> string(5) "cat 2" ["type"]=> string(3) "url" ["class_name"]=> string(0) "" ["content"]=> string(6) "value2" [

我在嵌套集模型中有一个数组,我需要将该数组转换为具有无限级别的json父级子级

阵列示例:

array(6) {
  [0]=>
  array(8) {
    ["title"]=>
    string(5) "cat 2"
    ["type"]=>
    string(3) "url"
    ["class_name"]=>
    string(0) ""
    ["content"]=>
    string(6) "value2"
    ["id"]=>
    string(3) "128"
    ["lft"]=>
    string(1) "1"
    ["rgt"]=>
    string(1) "4"
    ["depth"]=>
    string(1) "0"
  }
  [1]=>
  array(8) {
    ["title"]=>
    string(5) "sub 1"
    ["type"]=>
    string(3) "url"
    ["class_name"]=>
    string(0) ""
    ["content"]=>
    string(6) "value1"
    ["id"]=>
    string(3) "129"
    ["lft"]=>
    string(1) "2"
    ["rgt"]=>
    string(1) "3"
    ["depth"]=>
    string(1) "1"
  }
  [2]=>
  array(8) {
    ["title"]=>
    string(5) "cat 1"
    ["type"]=>
    string(3) "url"
    ["class_name"]=>
    string(0) ""
    ["content"]=>
    string(6) "value1"
    ["id"]=>
    string(3) "130"
    ["lft"]=>
    string(1) "5"
    ["rgt"]=>
    string(2) "10"
    ["depth"]=>
    string(1) "0"
  }
  [3]=>
  array(8) {
    ["title"]=>
    string(5) "sub 2"
    ["type"]=>
    string(3) "url"
    ["class_name"]=>
    string(0) ""
    ["content"]=>
    string(6) "value2"
    ["id"]=>
    string(3) "131"
    ["lft"]=>
    string(1) "6"
    ["rgt"]=>
    string(1) "9"
    ["depth"]=>
    string(1) "1"
  }
  [4]=>
  array(8) {
    ["title"]=>
    string(5) "sub 3"
    ["type"]=>
    string(3) "url"
    ["class_name"]=>
    string(0) ""
    ["content"]=>
    string(6) "value3"
    ["id"]=>
    string(3) "132"
    ["lft"]=>
    string(1) "7"
    ["rgt"]=>
    string(1) "8"
    ["depth"]=>
    string(1) "2"
  }
  [5]=>
  array(8) {
    ["title"]=>
    string(4) "item"
    ["type"]=>
    string(3) "url"
    ["class_name"]=>
    string(0) ""
    ["content"]=>
    string(6) "value1"
    ["id"]=>
    string(3) "133"
    ["lft"]=>
    string(2) "11"
    ["rgt"]=>
    string(2) "12"
    ["depth"]=>
    string(1) "0"
  }
}
json示例:

[{"name":"Cat 1","value":"value1","children":[{"name":"sub 2", "value":"value2","children":[{"name":"sub 3", "value":"value 3"}]}]}, {"name":"Cat 2","value":"value 2","children":[{"name":"sub 1", "value":"value1"}]},{"name":"item","value":"value1"}]

有人能帮我创建一个函数来进行转换吗?

json\u encode
应该是这里的答案

json\u encode
应该是这里的答案

但是json\u encode不转换层次数据,只将数组转换为json,我想将嵌套集转换为父级子级,与example类似,但此数组不映射到您提供的JSON示例。编写一个函数,将数组转换为您想要的结构(对象数组),然后json_编码此结构。但json_编码不转换层次数据,只将数组转换为json,我希望将嵌套集转换为父级子级,如example,但此数组不映射到您提供的json示例。编写一个函数,将数组转换为您想要的结构(对象数组),然后对这个结构进行json_编码。它在哪里?我看到了深度,但不理解父子关系。它在哪里?