PHP :: Aufgabe #82 :: Lösung #1
3 Lösungen

#82
Das Häufigste Element in einem Array
Anfänger - PHP
von klhlubek19
- 16.07.2015 um 13:46 Uhr
Schreiben Sie ein Programm, das aus einem Array das häufigste Element findet. Sollte es mehrere gleicher Anzahl finden, so darf irgend ein Element dieser Häufigsten ausgegeben werden.
#1

von x9eleven (640 Punkte)
- 05.08.2015 um 16:15 Uhr

<?php // Array anlegen $elArr = ["Element0" => 7, "Element1" => 7, "Element2" => 7, "Element3" => 9, "Element4" => 9, "Element5" => 8, "Element6" => 9, "Element7" => 9, "Element8" => 9, "Element9" => 7]; $geCountet = (zaehler($elArr)); // Funktionen anlegen function zaehler($array) { // Speichert Values aus einem Array als Schluesselwerte in einem neuen Array und speichert die Anzahl als Value $counts = []; foreach ($array as $value) { if (isset($counts[$value])) { $counts[$value] ++; } else { $counts[$value] = 1; } } return $counts; } function getKeyOfMaxVal(array $arr) { $maxKey = null; foreach ($arr as $key=>$val) { if (is_int($val)) { if ($maxKey === null || $val > $arr[$maxKey]) { $maxKey = $key; } } } return $maxKey; } // Tabellenkopf anlegen echo "<table border=1><tr><td>Element 0</td><td>Element 1</td><td>Element 2</td><td>Element 3</td><td>Element 4</td><td>Element 5</td>" . "<td>Element 6</td><td>Element 7</td><td>Element 8</td><td>Element 9</td></tr><tr>"; // Alle Elemente des Arrays in Tabelle ausgeben foreach ($elArr as $key => $value) { echo "<td>$value</td>"; } echo "</table><br />"; // Tabelle schliessen echo "<p>Ausgabe des meist vorkommenden Schluesselwertes mit Anzahl</p>"; $maxKey = getKeyOfMaxVal($geCountet); echo "<p>Der Schluesselwert: $maxKey kommt {$geCountet[$maxKey]} mal in dem Array vor.</p>"; ?>
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1