Php 将多个字符串转换为JSON数组

Php 将多个字符串转换为JSON数组,php,json,Php,Json,我有多个字符串,如下所示:11-16,16-12,14-16 我将有多个,我需要将它们存储在JSON中。我需要以以下格式存储它: [ { "score_1": 11, "score_2": 16 }, { "score_1": 16, "score_2": 12 }, { "score_1": 14, "score_2": 16 } ] 第一个数字是score_1,第二个数字是score_2。我怎样才能在PHP中做到这一点

我有多个字符串,如下所示:
11-16
16-12
14-16

我将有多个,我需要将它们存储在JSON中。我需要以以下格式存储它:

[
  {
    "score_1": 11,
    "score_2": 16
  },
  {
    "score_1": 16,
    "score_2": 12
  },
  {
    "score_1": 14,
    "score_2": 16
  }
]
第一个数字是
score_1
,第二个数字是
score_2
。我怎样才能在PHP中做到这一点

谢谢

两步:

  • 将字符串转换为相应的数据结构(例如stdClass对象数组)
  • 将该数据结构转换为JSON

  • 注意:由于您已经知道所需的输出,您可以解析该输出,了解其在PHP中的表示形式,作为第一步结果的建议。

    首先创建一个数组。接下来创建一个对象,然后在连字符上创建字符串,并在对象中存储第一个和第二个数字'd'。将该对象推入阵列。尽可能多地重复这些字符串。最后,使用获取JSON编码的字符串

    $arr = [];
    
    function addString($str, &$arr) {
        $str = explode("-", $str);
        $obj = new stdClass();
        $obj->score_1 = intval($str[0]);
        $obj->score_2 = intval($str[1]);
        $arr[] = $obj;
    }
    
    addString("11-16", $arr);
    addString("16-12", $arr);
    
    echo json_encode($arr);
    
    输出:

    [{“分数1:11”,分数2:16},{“分数1:16”,分数2:12}]



    编辑:更新上述代码以使用
    intval
    ,因为OP在预期输出中的对象中包含整数。

    如果您已经完成了他们的作业,也可以将缺少的转换添加到整数。@UlrichEckhardt Good eye。我已经更新了答案以正确地转换为整数