Vergleich Arrey
zielscheibe
- php
3 TS- fehlersuche
- php
1 Gunnar Bittersmann0 Rolf B
0 Rolf B0 zielscheibe0 Rolf B
0 bobby
<?php
//Hauptprogramm
$wertungsrichter1=6.4;
$wertungsrichter2=6.5;
$wertungsrichter3=6.6;
$wertungsrichter4=7.4;
$wertungsrichter5=5.5;
$gesamt=0;
echo showWertung($wertungsrichter1,$wertungsrichter2,$wertungsrichter3,$wertungsrichter4,$wertungsrichter5);
//Funktion
function showWertung($wertungsrichter1,$wertungsrichter2,$wertungsrichter3,$wertungsrichter4,$wertungsrichter5)
{
$gesamt=array($wertungsrichter1,$wertungsrichter2,$wertungsrichter3,$wertungsrichter4,$wertungsrichter5);
sort($gesamt);
echo "<h1>Wertung<h1>";
echo "<p>Beste Wertung:</p>".$gesamt[4];
echo "<p>Schlechteste Wertung:</p>".$gesamt[0];
echo "<p>Durchschnitt:</p>".array_sum($gesamt)/5;
}
//showWertung(wertungenFeld[]:double):viod
//Version 2 Ricky
{
gesamt=arry($wertung1,$wertung2,$wertung3,$wertung4,$wertung5);
sort($gesamt);
echo "<p>Beste Werung:</p>".$gesamt[4];
echo "<p>schlechteste Wertung:</p>".$gesamt[0];
}
{
$Durchschnitt=($Wertung1+$Wertung2+$wertung3+$wertung4+$wertung5)/5;
echo "<p>Durchschnitt:</p>".$Durchschnitt;
}
?>
hallo ich habe die Aufgabe in der Schule gelöst bin jedoch daran gescheitert mehr als 5 Werte zu verarbeiten. Die einzige Alternative auf die ich noch gekommen bin, ist es mit if abfragen zu vergleichen. Kennt Ihr noch eine Alternative?
Hello,
es ist immer wieder die gleiche Vorgehensweise:
Liebe Grüße
Tom S.
@@zielscheibe
Bitte formatiere deine Beiträge, sodass sie lesbar sind; insbesondere Codeblöcke als solche.
Ich hab das mal für dich berichtigt.
$wertungsrichter1=6.4; $wertungsrichter2=6.5; $wertungsrichter3=6.6; $wertungsrichter4=7.4; $wertungsrichter5=5.5;
An der Benennung der Variablen kann man schon erahnen, dass das nicht einzelne Variablen, sondern ein Array sein sollte:
$wertungen = [6.4, 6.5, 6.6, 7.4, 5.5];
(wie du es später mit $gesamt
daraus erstellt hast).
$gesamt=array($wertungsrichter1,$wertungsrichter2,$wertungsrichter3,$wertungsrichter4,$wertungsrichter5); sort($gesamt);
Damit ist jetzt die schlechteste Bewertung am Anfang und die beste am Ende des Arrays.
echo "<h1>Wertung<h1>"; echo "<p>Beste Wertung:</p>".$gesamt[4]; echo "<p>Schlechteste Wertung:</p>".$gesamt[0]; echo "<p>Durchschnitt:</p>".array_sum($gesamt)/5;
hallo ich habe die Aufgabe in der Schule gelöst bin jedoch daran gescheitert mehr als 5 Werte zu verarbeiten.
Tja, wenn du die 5
als Anzahl der Elemente und 4
als Index des letzten Elements hartcodiert in den Code schreibst, dann wird das nichts.
PHP weiß, wieviele Elemente im Array sind.
BTW, du solltest kein Markup mit PHP echo
ausgeben, sondern nur die Werte einfügen. Nicht HTML in PHP schachteln, sondern PHP in HTML:
<h1>Wertung<h1>
<p>Beste Wertung: <?php echo $gesamt[4]; ?></p>
<p>Schlechteste Wertung: <?php echo $gesamt[0]; ?></p>
<p>Durchschnitt: <?php echo array_sum($gesamt)/5; ?></p>
(Die oben genannten vorzunehmenden Änderungen überlasse ich dir.)
LLAP 🖖
Hallo Gunnar,
<p>Beste Wertung: <?php echo $gesamt[4]; ?></p>
Bzw. kompakter
<p>Beste Wertung: <?= $gesamt[4] ?></p>
Rolf
Hallo zielscheibe,
wenn Du nicht 5 Wertungsrichter hast, sondern eine andere Anzahl, dann wirst Du wohl auch ein Array (nicht Arrey oder Arry!) mit einer anderen Anzahl von Elementen haben.
Den Index des letzten Eintrags im Array kannst Du mit Hilfe der count-Funktion erhalten. Beispiel: Für ein Array, dessen Einträge fortlaufend von 0 bis 4 indexiert sind, liefert count 5.
(Exkurs: Das ist jetzt keine Haarspalterei; Arrays können Lücken enthalten, und wenn in einem Array die Indexe 1 und 5 belegt sind, liefert count(2). In dem Fall müsstest Du array_keys zu Hilfe nehmen.)
Rolf
hm muss ich Buch nochmal nachschlagen. Du meinst das ich die arrays abspeichern soll und dann je nach Bedarf abrufen soll?
Hallo zielscheibe,
*verwirrt guck* Von welchem Problem reden wir gerade?
Redest Du da von einem Aspekt der Aufgabenstellung, der aus deinem Eingangsposting nicht erkennbar ist?
Rolf
Moin,
Edit: ups... PHP und nicht Javascript.
aber auch hier gibt es entsprechende Funktionen min, max .
den Durchschnitt berechnet man aus allen Werten des Arrays summiert mit der Sum-Funktion und der Anzahl aller Datensätze im Array über sizeof
also recht einfach
Gruß Bobby