Hij is opgebouwd met het jaartal als key, daarin checklistvragen als key met als value het aantal afwijkingen (dit houd in situaties die niet OK waren).
Ik wil in een overzicht tonen hoeveel afwijkingen er waren per vraag, per jaar.
Hoe kan ik die gegevens op de juiste manier krijgen uit een loop? Alle vragen die een afwijking hebben moeten dus onder elkaar komen te staan (geen dubbele) met daarnaast per jaar hoeveel die afwijking voorkomt.
O zo, het is ook de bedoeling dat keys die niet in het alle records zitten als "0" worden gezien (en dus ook hoogstwaarschijnlijk "niet gelijk"). Maar bij SanThe krijg je juist alle waarden, ook als ze in alle records gelijk zijn, en dat is volgens mij ook niet de bedoeling - het gaat om het aantal "afwijkingen" (?).
<?php
$array = [...]; //zie hierboven
$values = []; //hierin worden de referentie waarden verzameld
foreach($array as $record) $values += $record;
$diff = array_fill_keys($keys = array_keys($values),false); //init allen op false
foreach($array as $record) foreach($keys as $key)
if(($record[$key] ?? 0) != $values[$key]) $diff[$key] = true; //diffs detecteren
$keys = array_keys(array_filter($diff)); //kolommen met een diff (niet meer false)
print('<table><thead><tr><th>Vraag</th>');
foreach($keys as $key) print("<th>$key</th>");
print('</tr></thead><tbody>');
foreach($array as $year => $record){
print("<tr><td>$year</td>");
foreach($keys as $key) print('<td>' . ($record[$key] ?? 0) . '</td>');
print('</tr>');
}
print('</tbody></table>');
?>