Я использую JSON для хранения результатов для скобокJSON Decode изменение значений в массиве
Верхних кронштейн магазинов 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