<!DOCTYPE html>
<html>
<body>
<?php
// Am Anfang wird der zu untersuchende Array arr mit Werten initialisiert.
$arr = array(15, 19, 12, 19, 16, 23, 12, 19, 16);
/*
Jetzt wird der Array freq deklariert. Mithilfe des Befehls array_fill wird
der Array befüllt. Der Aufbau von array_fill ist dabei
array_fill(Erster Index des Arrays der zurückgegeben wird, Anzahl der
Elemente die eingefügt werden, der Wert der zum auffüllen verwendet wird)
*/
$freq = array_fill(0, count($arr), 0);
/*
Um mehrfach Zählung zu vermeiden wird die Variable visited verwendet.
*/
$visited = -1;
/*
Das Erfassen der Elemente und das Zählen ihrer Häufigkeit erfolgt in
zwei ineinander geschachtelten Schleifen.
*/
for($i = 0; $i < count($arr); $i++){
/*
Die Variable $count zählt die Häufigkeit des Elementes
*/
$count = 1;
for($j = $i+1; $j < count($arr); $j++){
if($arr[$i] == $arr[$j]){
$count++;
/* Wenn ein Element bereits gezählt wurde, wird das Element,
mithilfe der Variable visited, als besucht markiert.
*/
$freq[$j] = $visited;
}
}
if($freq[$i] != $visited)
$freq[$i] = $count;
}
/*
Hier werden die Elemente (Element) und ihre Häufigkeit (Frequency)
ausgegeben.
*/
print("-------------------------<br>");
print(" Element | Haeufigkeit<br>");
print("-------------------------<br>");
for($i = 0; $i < count($freq); $i++){
if($freq[$i] != $visited){
//str_repeat(' ', 4) um etwas zusätzlichen Platz einzufügen
print(str_repeat(' ', 10) . $arr[$i] );
print(str_repeat(' ', 7) . "|" . str_repeat(' ', 7) . $freq[$i]);
print("<br>");
}
}
print("-------------------------");
?>
</body>
</html>