logimann Geschrieben 29. April 2003 Geschrieben 29. April 2003 moin weiß einer wie ich von 4 werten (zahlen) die 3 größten ermittel, sie zusammen zähle und dann ausgebe??(in php) hat da wer ne idee? mfg logimann
Crow T. Robot Geschrieben 29. April 2003 Geschrieben 29. April 2003 Hallo logimann! Pack alle Werte in eine Array, summiere diesen mit array_sum(), suche das Minimum im Array mit min() und subtrahiere dies von der Summe. Klingt kompliziert, ist aber sehr einfach und ist nicht auf vier Werte begrenzt: $werte = array( 42, 17, 23, 85 ); $summe = array_sum( $werte ) - min( $werte );[/PHP]
logimann Geschrieben 29. April 2003 Autor Geschrieben 29. April 2003 wenn ich das richitg seh kann ich das auch so machen oder?? weil mein daten aus ner db kommen! $werte = array( ".a.", ".b.", ".c.", ".d."); $summe = array_sum( $werte ) - min( $werte );[/PHP] mfg logimann
Crow T. Robot Geschrieben 29. April 2003 Geschrieben 29. April 2003 Nein, das geht so nicht, mit Strings können keine arithmetischen Operationen durchgeführt werden.
logimann Geschrieben 29. April 2003 Autor Geschrieben 29. April 2003 hmm dann bringt mir das nicht wirklich was! ich brauch das mit strings! kann da wer helfen?
Crow T. Robot Geschrieben 29. April 2003 Geschrieben 29. April 2003 Wieso schreibst du dann am Anfang erst, dass du das für Zahlen brauchst, wenn's doch nicht stimmt?! Und ausserdem: Wie willst du Strings denn zusammenzählen? Das geht einfach nicht, weil es eben keine Zahlen sind!
logimann Geschrieben 30. April 2003 Autor Geschrieben 30. April 2003 es sind doch auch zahlen!! also noch mal! ich lese aus ne db zahlen aus diese geb ich aus. jetzt soll er sich von den zahlen die 3 größte raussuchen und zusammen zählen. da sie aber aus ner tabelle mit strings komme muss ich ja die strings zusammen zählen du kannst ja auch wenn z.b. in den feld a 50 im feld b 50 und im feld c 50 steht dann kannst du sie ja auch zusammen zählen und es kommt 150 raus(siehe unten). oder täusch ich mich da? while ($feld = mysql_fetch_array($sql)): $a = $feld["a"]; $b = $feld["b"]; $c = $feld["c"]; $summe = "$a"+"$b"+"$c" ?> [/php]
Spike Geschrieben 30. April 2003 Geschrieben 30. April 2003 Deinem obigen Code zufolge machs doch so: $werte = array( $a, $b, $c, $d ); $summe = array_sum( $werte ) - min( $werte ); [/php]
Crow T. Robot Geschrieben 30. April 2003 Geschrieben 30. April 2003 Hallo logimann! Entscheide dich doch bitte endlich mal, was du überhaupt willst: Er sind es Zahlen, dann "brauchst du das für Strings", dann sind es doch wieder Zahlen... Wie soll man dir helfen, wenn du noch nicht einmal selber weisst, was du überhaupt willst?! :confused:
AlexBossi Geschrieben 6. Mai 2003 Geschrieben 6. Mai 2003 Hallo Leute! Ist doch nun wirklich egal was es ist! Wenn es ein String ist braucht man doch nur (int) davorschreiben und so wird der String umgewandelt. z.B. $a = (int)$feld["a"]; $b = (int)$feld["b"]; $c = (int)$feld["c"]; [/php] Bis denn... :marine
Spike Geschrieben 6. Mai 2003 Geschrieben 6. Mai 2003 Original geschrieben von AlexBossi Ist doch nun wirklich egal was es ist! PHP ist es egal solang es sich um numerische Werte handelt. Solange Zahlen aus der Datenbank kommen, funktioniert auch obiger Code. Sind es String, funktioniert das sowieso nicht Prüfen ob es sich um einen numerischen Wert handelt: http://www.php.net/manual/de/function.is-numeric.php
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden