Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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 - Fatal编程技术网

使用嵌套数组将PHP转换为JSON

使用嵌套数组将PHP转换为JSON,php,arrays,json,Php,Arrays,Json,我有一个PHP变量需要转换为JSON字符串 我有以下PHP代码: $username="admin"; $password="p4ssword"; $name="Administrator"; $email="myname@smsfree4all.com" $params=compact('username', 'password','name','email', 'groups'); json_encode($params); 这个很好用。但我不确定的是,如何使用嵌套的键值对在PHP中对属

我有一个PHP变量需要转换为JSON字符串

我有以下PHP代码:

$username="admin";
$password="p4ssword";
$name="Administrator";
$email="myname@smsfree4all.com" 
$params=compact('username', 'password','name','email', 'groups');
json_encode($params);
这个很好用。但我不确定的是,如何使用嵌套的键值对在PHP中对属性进行编码,如下所示:

{
"username": "admin",
"password": "p4ssword",
"name": "Administrator",
"email": "admin@example.com",
"properties": {
    "property": [
        {
            "@key": "console.rows_per_page",
            "@value": "user-summary=8"
        },
        {
            "@key": "console.order",
            "@value": "session-summary=1"
        }
    ]
   }
}

@before键值是什么意思?

可能是这样的

$properties = [
    'property' => [
        ['@key' => 'console.rows_per_page', '@value' => 'user-summary=8'],
        ['@key' => 'console.order', '@value' => 'session-summary=1']
    ]
];

很难说出你在问什么。

也许是这样的吧

$properties = [
    'property' => [
        ['@key' => 'console.rows_per_page', '@value' => 'user-summary=8'],
        ['@key' => 'console.order', '@value' => 'session-summary=1']
    ]
];

很难说出你在问什么。

像这样的东西应该可以

请注意:

  • 键值数组被编码到对象中
  • 规则数组(此处为数组数组数组)被编码到数组中

<> P>这些都是你需要考虑的编码任意对象< /P> < P >这样的事情应该做< /P>

请注意:

  • 键值数组被编码到对象中
  • 规则数组(此处为数组数组数组)被编码到数组中

这些都是你需要考虑的编码任意对象

的规则,你可以用简单的数组在PHP中嵌套,非常类似于JavaScript对象:

$grandparent = array(
  "person1" => array(
    "name" => "Jeff",
    "children" => array(
      array("name" => "Matt"),
      array("name" => "Bob")
    )
  ), 
  "person2" => array(
    "name" => "Dillan",
    "children" => array()
  )
);

您可以使用简单数组在PHP中嵌套,非常类似于JavaScript对象:

$grandparent = array(
  "person1" => array(
    "name" => "Jeff",
    "children" => array(
      array("name" => "Matt"),
      array("name" => "Bob")
    )
  ), 
  "person2" => array(
    "name" => "Dillan",
    "children" => array()
  )
);

您是否在问如何将问题中显示的JSON创建为PHP对象/数组?您从哪里获得JSON输出?PHP的
json\u encode
将把任何变量编码为json,而不管它是如何嵌套的。@MatthewHerbst我不知道如何在PHP中指定嵌套数组(属性)以将其传递到json\u encode。您是否在问如何将问题中显示的json创建为PHP对象/数组?您从哪里获得json输出?PHP的
json\u encode
将任何变量编码为json,而不管它是如何嵌套的。@MatthewHerbst我不知道如何在PHP中指定嵌套数组(属性)以将其传递到json\u encode。谢谢!我将把$properties传递给json_encode(),谢谢!我将把$properties传递给json_encode()