【问题标题】:json encode of multiple arrays using php使用php对多个数组进行json编码
【发布时间】:2018-04-21 12:58:38
【问题描述】:

我有一个如下数组:

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}]

【问题讨论】:

  • 你创建了不同的数组。创建单个数组并将数据推送到不同的索引上。
  • 感谢您的回复....我有六个不同的输入文件如何将它们作为单个数组
  • 如果你有固定数量的数组,你可以$arr=[$arr1,$arr2,$arr3];

标签: php jquery arrays json ajax


【解决方案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}]

希望这会有所帮助!

【讨论】:

  • 为什么 OP 会尝试您的代码? 您应始终尽可能提供解释
【解决方案2】:

您提供的json 示例无效,因为strings 没有被引用(nos / opts),您可以在任何online json validator 上轻松测试。 您需要构造 proper 数组 - 其中字符串被“引用” - 并使用 json_encode() 函数,即:

$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}]

DEMO


注意:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-01
    • 1970-01-01
    • 2011-10-04
    • 2021-12-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多