我有多个字符串如下所示: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做到这一点?
由于
答案 0 :(得分:2)
两个步骤:
注意:由于您已经知道了所需的输出,因此可以解析该输出以了解它在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在预期输出中的对象中有整数。