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

php - 将多个字符串转换为JSON数组,第1张

我有多个字符串如下所示:11-1616-1214-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做到这一点?

由于

最佳答案:

2 个答案:

答案 0 :(得分:2)

两个步骤:

  1. 将字符串转换为相应的数据结构(例如stdClass对象的数组)。
  2. 将该数据结构转换为JSON。
  3. 注意:由于您已经知道了所需的输出,因此可以解析该输出以了解它在PHP中的表示形式,作为对第一步结果的建议。

    答案 1 :(得分:2)

    首先创建一个数组。接下来创建一个对象,然后explode连字符上的字符串,并在对象中存储intval'第一个和第二个数字。将该对象推入您的数组。重复尽可能多的字符串。最后,使用json_encode获取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);
    

    <强>输出:

      

    [{ “score_1”:11 “score_2”:16},{ “score_1”:16, “score_2”:12}]

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

    本文经用户投稿或网站收集转载,如有侵权请联系本站。

发表评论

0条回复