Sammenligne 2 arrays og udskriv alt fra array1 men fremhæv forskelle
Jeg skal bruge lidt hjælp til at sammenligne 2 arrays. Det specielle er at jeg skal have al data fra array1 ud, men der hvor der er forskelle fra array1 til array2, skal værdien fremhæves.Outputtet skal bruges i en mail, som skal sendes til bestemt brugere.
For lige at forklarer baggrunden, så kan vi have en sag, som kan bestå af flere etaper, i teorien uendeligt. Disse etaper bliver jævnligt ændret, og når det sker skal jeg sende en mail, hvori modtager kan se de gamle værdier, de nye værdier OG ændringerne i de nye værdier skal fremhæves.
Jeg er kommet lidt af vejen, men er faret lidt vild på den sidste del... ;-)
Jeg har følgende kode pt.:
$typer = array("kg", "stålpris", "timer", "levuge");
$nye_nøgler = array_keys($nye_værdier);
$gml_nøgler = array_keys($gml_værdier);
foreach ($nye_nøgler as $ky){
$besked .= "<tr>";
$besked .= "<td>Etape ".$nye_værdier[$ky]['etape']."</td>";
foreach ($gml_nøgler as $gy) {
for ($k = 0; $k < sizeof($typer); $k++) {
if ($nye_værdier[$ky][$typer[$k]] == $gml_værdier[$ky][$typer[$k]]) {
$besked .= "<td align='center'>".number_format($nye_værdier[$ky][$typer[$k]], 0, ',', '.') ."</td>";
} else {
$besked .= "<td align='center'><b><font color='red'>".number_format($nye_værdier[$ky][$typer[$k]], 0, ',', '.')."</font></b></td>";
}
}
}
$besked .= "</tr>";
}
$besked .= "</table>";
Men fordi jeg laver en foreach på begge arrays, så får jeg udskrevet mange dubletter. Men jeg skal jo bruge værdien i begge arrays, for at kunne sammenligne om den er ændret.
Er der nogle som har et god indspark til hvordan jeg kringler den?