我使用JSON來存儲括號JSON解碼改變數組值
上支架存儲15場比賽 下支架存儲14場比賽 決賽具有3場比賽
結果我已解碼的JSON和要用給定的比賽號碼存儲新的結果並給出得分結果。我已經嘗試了foreach循環,唯一的問題是括號不是按循環分組,而是在每個結果之後不給出逗號。
echo json_encode($ results);
會發出
[0,0][0,0][0,0][0,0][3,5][0,0][0,0][0,0]
[0,0][0,0][0,0][0,0]
[0,0][0,0]
[0,0]
時,我希望它給了
[
[[0,0],[0,0],[0,0],[0,0],[3,5],[0,0],[0,0],[0,0]],
[[0,0],[0,0],[0,0],[0,0]],
[[0,0],[0,0]],
[[0,0]]
]
第二個問題$匹配可變環通過幾輪 增量所以它發出:
1,2,3,4,5,6,7,8,1,2,3,4,1,2,1
當我想讓它發出時
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
任何幫助表示讚賞謝謝。以下是代碼:
<?php
$upper_bracket_results = "
[
[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],
[[0,0],[0,0],[0,0],[0,0]],
[[0,0],[0,0]],
[[0,0]]
]
";
$lower_bracket_results = "
[
[[0,0],[0,0],[0,0],[0,0]],
[[0,0],[0,0],[0,0],[0,0]],
[[0,0],[0,0]],
[[0,0],[0,0]],
[[0,0]],
[[0,0]]
]
";
$final_bracket_results = "
[
[[0,0],[0,0]],
[[0,0]]
]
";
$json = "{\"results\" : [ {$upper_bracket_results} , {$lower_bracket_results} , {$final_bracket_results} ]}";
$allResults = json_decode($json, true);
$results = current($allResults);
$upper = $results[0];
$lower = $results[1];
$final = $results[2];
$all = array_merge($results[0], $results[1], $results[2]);
$matchno = 2;
$score1 = 3;
$score2 = 5;
if($matchno <= 15)
{
$bracket = $upper;
}
elseif($matchno >= 16 && $matchno <= 29)
{
$bracket = $lower;
}
elseif($matchno >= 30 && $matchno <= 32)
{
$bracket = $final;
}
foreach($bracket as $match => $result[0])
{
foreach($result[0] as $match => $result)
{
$match += 1;
if($match == $matchno)
{
$result[0] = $score1;
$result[1] = $score2;
}
echo json_encode($result);
}
}
?>
不要創建自己的json。只需使用'json_encode()',因爲php會解析它。 – aldrin27