То, что я пытаюсь сделать, это заставить мой массив $ ages отображать значение один раз для каждого игрока в порядке массива. Однако каждый раз, когда я добавляю дополнительный цикл for для этого массива, он дублирует каждого игрока 20 раз.с каждым значением массива один раз.Я хочу, чтобы 20 игроков по 20 различных значений массива по одному.
Вот текущий вывод, который дублирует каждого игрока 20 раз. http://freerdarts.com/test.php
Вот код
<code><link rel="stylesheet" href="https://freerdarts.com/assets/css/main.css" />
<?php
libxml_use_internal_errors(true);
$doc = new DOMDocument();
$doc->loadHTML(file_get_contents('https://www.leagueleader.net/sharedreport.php?operatorid=98&code=1166aea7-6e0e-4864-8074-8ebd93311041'));
$doc->strictErrorChecking = false;
$pre = [];
$keys = ['name', 'team', 'ppd', 'games', 'wins', 'hats', '3bd', 'ton80','hton','lton','6do','7do','8do','9do'];
$keys2 = ['name', 'mpr', 'games', 'wins','assists', 'hats','whorse','5mr','6mr','7mr','8mr','9mr'];
foreach ($doc->getElementsByTagName('table') as $k => $table) {
if (strpos($table->getAttribute('class'), 'report') === false) {
continue;
}
foreach ($table->getElementsByTagName('tr') as $i => $tr) {
if ($tr->parentNode->nodeName === 'thead') continue; // skip headers
$row_values = [];
foreach ($tr->childNodes as $td) {
$text = trim($td->nodeValue);
if ($text === '') continue;
$row_values[] = $text;
}
if($k == 1 ){
$row_values = array_combine($keys, $row_values);
}else if($k == 2 ){
unset($row_values[1]);
$row_values = array_combine($keys2, $row_values);
}
$pre[$row_values['name']][] = $row_values;
}
}
$combined = [];
foreach($pre as $name => $row){
$combined[$name] = [
"name"=> $name,
"team"=> $row[0]['team'],
"ppd_01" => $row[0]['ppd'],
"games_01" => $row[0]['games'],
"wins_01" => $row[0]['wins'],
"hats_01" => $row[0]['hats'],
"3bd" => $row[0]['3bd'],
"ton80" => $row[0]['ton80'],
"hton" => $row[0]['hton'],
"lton" => $row[0]['lton'],
"6do" => $row[0]['6do'],
"7do" => $row[0]['7do'],
"8do" => $row[0]['8do'],
"9do" => $row[0]['9do'],
"mpr_crk" => $row[1]['mpr'],
"games_crk" => $row[1]['games'],
"wins_crk" => $row[1]['wins'],
"assists_crk" => $row[1]['assists'],
"hats_crk" => $row[1]['hats'],
"whorse" => $row[1]['whorse'],
"5mr" => $row[1]['5mr'],
"6mr" => $row[1]['6mr'],
"7mr" => $row[1]['7mr'],
"8mr" => $row[1]['8mr'],
"9mr" => $row[1]['9mr']
];
}
//echo '<pre>'.json_encode($combined, JSON_PRETTY_PRINT).'
';// echo $ комбинированный ['Ronnie Otto'] ['ppd_01'];?>
.jpg" />