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中做到这一点
谢谢两步:
注意:由于您已经知道所需的输出,您可以解析该输出,了解其在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。我已经更新了答案以正确地转换为整数