如何使用PHP为JSON创建数组?

Mim*_*mmo 123 php json

从PHP代码我想创建一个json数组:

[
  {"region":"valore","price":"valore2"},
  {"region":"valore","price":"valore2"},
  {"region":"valore","price":"valore2"}
]
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

Dav*_*nco 147

易腻的柠檬挤压:http://www.php.net/manual/en/function.json-encode.php

<?php
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);

echo json_encode($arr);
?>
Run Code Online (Sandbox Code Playgroud)

andyrusterholz at g-m-a-i-l dot c-o-m在上述页面上有一篇文章,它也可以处理复杂的嵌套数组(如果这是你的事情).

  • Dang,homie,你是那个答案的瞬间=).我很兴奋这个简单的问题=) (2认同)
  • 我有这个代码while($ row = mysql_fetch_assoc($ query_insert)){$ control = array('regione'=> $ row ["regione"],'totale'=> $ row ["prezzi"]); print(json_encode(%control)); 但重新调整{"regione":"Puglia","totale":"5.15"}不是[{..},{..}] (2认同)
  • 添加1作为柠檬参考.:-) (2认同)

She*_*hef 109

使用PHP的本机json_encode,如下所示:

<?php
$arr = array(
    array(
        "region" => "valore",
        "price" => "valore2"
    ),
    array(
        "region" => "valore",
        "price" => "valore2"
    ),
    array(
        "region" => "valore",
        "price" => "valore2"
    )
);

echo json_encode($arr);
?>
Run Code Online (Sandbox Code Playgroud)

更新:在评论中回答您的问题.你这样做:

$named_array = array(
    "nome_array" => array(
        array(
            "foo" => "bar"
        ),
        array(
            "foo" => "baz"
        )
    )
);
echo json_encode($named_array);
Run Code Online (Sandbox Code Playgroud)

  • @Mimmo:我更新了我的答案来解决你的问题. (4认同)
  • 对不起,但如果我想要 {"nome_array": [{"foo":"bar"},{"foo":"baz"}]} ?? (2认同)

tda*_*ers 38

简单:只需创建一个(嵌套的)PHP数组并调用json_encode它.数字数组转换为JSON列表([]),关联数组和PHP对象转换为对象({}).例:

$a = array(
        array('foo' => 'bar'),
        array('foo' => 'baz'));
$json = json_encode($a);
Run Code Online (Sandbox Code Playgroud)

给你:

[{"foo":"bar"},{"foo":"baz"}]
Run Code Online (Sandbox Code Playgroud)

  • 再次阅读我的帖子.如果您想要将某些内容转换为JSON对象,请将其设置为PHP中的关联数组(其中键是字符串).如果要将其转换为JSON列表,请将其设为普通数组(使用隐式整数键).每个数组元素的值又可以是一个数组,这就是你想要的. (2认同)

Par*_*rma 13

你应该每次在php中创建json的最佳方法是首先转换ASSOCIATIVE数组中的值.

之后只需使用编码即可json_encode($associativeArray).我认为这是在php中创建json的最佳方法,因为每当我们在php中获取结果表单sql查询时,大多数时候我们使用fetch_assoc函数获取值,这也返回一个关联数组.

$associativeArray = array();
$associativeArray ['FirstValue'] = 'FirstValue';
Run Code Online (Sandbox Code Playgroud)

...等

之后.

json_encode($associativeArray);
Run Code Online (Sandbox Code Playgroud)


小智 5

also for array you can use short annotattion:

$arr = [
    [
        "region" => "valore",
        "price" => "valore2"
    ],
    [
        "region" => "valore",
        "price" => "valore2"
    ],
    [
        "region" => "valore",
        "price" => "valore2"
    ]
];

echo json_encode($arr);
Run Code Online (Sandbox Code Playgroud)