json使用php编码多个数组

时间:2018-04-21 12:58:39

标签: php jquery arrays json ajax

我有一个如下数组:

Array
(
    [option] => nos
    [optioncost] => 10
)

Array
(
    [option] => opts
    [optioncost] => 20
)

Array
(
    [option] => opts
    [optioncost] => 30
)

需要将其转换为以下json格式

[{"option":nos,"optioncost":10},{"option":opts,"optioncost":20},{"option":optse,"optioncost":30}]

2 个答案:

答案 0 :(得分:1)

试试这段代码:

    <?php

    $arr = array();
    $arr[] = array('option' => 'nos',
    'optioncost' => 10
    );

    $arr[] = array('option' => 'opts',
    'optioncost' => 20
    );
    $arr[] = array('option' => 'optse',
    'optioncost' => 30
    );



    echo json_encode($arr);
    ?>

输出:

  [{"option":"nos","optioncost":10},{"option":"opts","optioncost":20},{"option":"opts","optioncost":30}]

希望这有帮助!

答案 1 :(得分:0)

您提供的json示例无效,因为strings未引用(nos / opts),您可以在任何{{ {3}}。
你需要构造正确的数组 - 其中字符串是“引用的” - 并使用online json validator函数,即:

$arr1 = ['option' => "nos", 'optioncost' => 10];
$arr2 = ['option' => "opts", 'optioncost' => 20];
$arr3 = ['option' => "opts", 'optioncost' => 30];
echo json_encode([$arr1, $arr2, $arr3]);
# [{"option":"nos","optioncost":10},{"option":"opts","optioncost":20},{"option":"opts","optioncost":30}]

json_encode()

注意:

Strings需要引用,但floatsintsbools不需要引用。