php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2010

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 23.07.2010, 20:14  
Neuer Benutzer
 
Registriert seit: 23.07.2010
Beiträge: 4
PHP-Kenntnisse:
Anfänger
LucaBrasi ist zur Zeit noch ein unbeschriebenes Blatt
Standard [Erledigt] Array - zweithöchster Wert bzw. nach Wertigkeit ausgeben

Hallo,

ich führe die Wertungstabelle einer kleinen Pokerrunde, in der jeder Spieler natürlich eine jeweils aktuelle Gesamtpunktzahl hat, und somit dann eine Platzierung in der Gesamtwerung.

Die jeweiligen Gesamtpunkte sind in folgendem array:
PHP-Code:
$wertung = array($a_all$d_all$h_all$m_all$n_all$s_all$t_all); 
$a_all - $t_all sind die ermittelten Gesamtpunkte der 7 Teilnehmer...
Den jeweil Führenden gebe ich mit einer switchabfrage aus
PHP-Code:
<?php
                        
switch($wertung){
                            case 
$a_all == max($wertung);
                            echo 
$player["a"];
                            break;
                            ...
usw.            }                            
                            echo 
" - "; echo max($wertung); echo " Pts."?>
Wie kann ich aber den zweithöchsten Wert des arrays (dritt-vierthöchsten...) ausgeben, damit sich die Platzierungen der Gesamtpunktzahl entsprechen ändern?

Danke für alle Anregungen
liebe Grüsse
Andreas
LucaBrasi ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 23.07.2010, 20:58  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Das sieht sehr kompliziert aus was du da machst. Viel einfacher ist es wenn du das Array sortiert und dann einfach den ersten oder den zweiten Wert im Array verwendest.
Flor1an ist offline  
Alt 23.07.2010, 21:00  
Moderator
 
Benutzerbild von Asipak
 
Registriert seit: 18.07.2005
Beiträge: 4.072
Asipak sorgt für eine eindrucksvolle AtmosphäreAsipak sorgt für eine eindrucksvolle Atmosphäre
Standard

Am Besten schreibst du die Gesamtpunktzahl ebenfalls in das Array $player und sortierst es nach der Gesamtpunktzahl, sodass gleich alle anderen Werte mitsortiert werden. Eine simple foreach-Schleife reicht dann aus, um die Spieler in der richtigen Reihenfolge auszugeben.
Asipak ist offline  
Alt 24.07.2010, 11:00  
Neuer Benutzer
 
Registriert seit: 23.07.2010
Beiträge: 4
PHP-Kenntnisse:
Anfänger
LucaBrasi ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke für die Antworten
kompliziert mag es ja sein, freue mich aber, das es soweit funktioniert bei meinem derzeitigen wissensstand...
Zitat:
Zitat von Flor1an Beitrag anzeigen
...Array sortiert und dann einfach den ersten oder den zweiten Wert im Array verwendest.
genau dieses erschliesst sich mir leider nicht... wie verwende ich den zweiten wert - und dann den dritten usw...? Ein Beispiel wäre toll

Gruss
Andreas
LucaBrasi ist offline  
Alt 24.07.2010, 12:46  
Moderator
 
Benutzerbild von Asipak
 
Registriert seit: 18.07.2005
Beiträge: 4.072
Asipak sorgt für eine eindrucksvolle AtmosphäreAsipak sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Ein Beispiel wäre toll
Wie wäre es, wenn du dir erstmal selber Gedanken machen und die geposteten Tipps ausprobieren würdest?
Asipak ist offline  
Alt 24.07.2010, 13:36  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von LucaBrasi Beitrag anzeigen
wie verwende ich den zweiten wert - und dann den dritten usw...?
Wenn dir der Zugriff auf Array-Elemente mit einem nummerischen Index nicht klar ist, bzw. das Durchlaufen eines Arrays in einer Schleife auch nicht - dann arbeite bitte zunächst die entsprechende Stelle in einem Grundlagen-Tutorial durch, bzw. lies es im Manual nach.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline  
Alt 25.07.2010, 18:30  
Neuer Benutzer
 
Registriert seit: 23.07.2010
Beiträge: 4
PHP-Kenntnisse:
Anfänger
LucaBrasi ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich habe mir diesbezüglich schon einiges angeschaut und (auch die geposteten links), komme aber nicht dahinter, kriege auch nicht wirklich relevantes gegoogelt

PHP-Code:
$wertung_n = array("Andreas"=> $a_all"Daniel" => $d_all"Hüseyin" => $h_all"Martin" => $m_all"Martin NJ" => $n_all"Sebi" => $s_all,  "Tobias" => $t_all);
                    
arsort($wertung_n);
                    foreach (
$wertung_n as $key => $points) {
                    echo 
"$key = $points";
                    echo 
"<br/>"
mit arsort bekomme ich die Liste nach Wertung angezeigt...
aber wie kann ich mir nun nur den zweit.../dritthöchsten ausgeben lassen, ich kann's wahrscheinlich mangels Ahnung nirgendwo rauslesen
Deswegen wäre ich für Hilfe wirlich dankbar
Gruss
BrettvormKopp
LucaBrasi ist offline  
Alt 29.07.2010, 23:06  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 2.308
PHP-Kenntnisse:
Fortgeschritten
fab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblick
Standard

Die Nummer mit dem numerischen Index vergiss mal, du brauchst ja die Schlüssel (ansonsten würde rsort() statt arsort() und $wertung_n[1] für den Zugriff reichen)

PHP: array_multisort - Manual ist aber wirklich einen Blick wert! Du könntest dir z.B. mit array_keys() und array_values() die Schlüssel und Werte als einzelne Arrays $name und $wertung holen, mit array_multisort() dann diese beiden Arrays gemeinsam sortieren (Manual dazu lesen!) und hättest dann Name und Wertung des zweithöchsten in $name[1] und $wertung[1]
fab ist offline  
Alt 29.07.2010, 23:37  
Benutzer
 
Registriert seit: 06.07.2010
Beiträge: 74
PHP-Kenntnisse:
Anfänger
UdoDirk ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Deswegen wäre ich für Hilfe wirlich dankbar
Gruss
BrettvormKopp
Wer sagt eigentlich, dass die Spielernamen innerhalb des Arrays der Schlüssel sein müssen - dreh die Angelegenheit einfach so um, dass die Punkteanzahl jeweils der Schlüssel ist, dem der Spielername zugeordnet ist - wirst Dich umschauen, wie Dein Array von ganz allein sortiert ist.

Hoffe, dass ich Dir damit helfen konnte, auch wenn Du jetzt darüber nachdenken musst, wie man in einem Array immer wieder neue Schlüssel verteilt - aber diese Funktion ist passend beschrieben in den Anfängerlektionen.

Geändert von UdoDirk (29.07.2010 um 23:41 Uhr).
UdoDirk ist offline  
Alt 30.07.2010, 00:24  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 2.308
PHP-Kenntnisse:
Fortgeschritten
fab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblick
Standard

Ohje, das ist auf so vielen Ebenen falsch, das versuch gar nicht erst, nachzuvollziehen!

@UdoDirk: schonmal dran gedacht dass verschiedene Spieler die gleiche Punktzahl haben könnten?
fab ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Sortierung mehrerer Arrays philosapiens PHP Tipps 2010 16 08.06.2010 05:22
IE8 verliert Session Lenki PHP-Fortgeschrittene 10 25.04.2010 01:10
[Erledigt] Problem bei update mit array feldern fulltilt PHP Tipps 2010 6 13.02.2010 00:59
[Erledigt] Tabellen die sich selbst referenzieren Squall PHP Tipps 2009 19 04.08.2009 21:33
[Erledigt] Unbekannten Wert im Array finden Gkiokan PHP Tipps 2009 27 22.07.2009 22:43
[Erledigt] Inhalt mehrdimesionales array nach Sortierung ausgeben supervision PHP Tipps 2009 7 26.05.2009 21:08
Merhdimensionales Session Array ausgeben Nartrisse PHP Tipps 2009 17 16.05.2009 13:43
[Erledigt] Wie kann ich den letzten Array Wert ohne Komma ausgeben? Jackson5 PHP Tipps 2009 3 17.03.2009 15:32
[Erledigt] Teil eines Array ausgeben tomateundgurke PHP Tipps 2009 6 17.02.2009 14:18
[Erledigt] Hat ein Array einen Wert? silver_surfer PHP Tipps 2008 6 22.06.2008 12:20
Array schlüssel über wert finden Dave Waterstone PHP-Fortgeschrittene 3 29.03.2006 17:54
array verarbeitung (schlag auf den hinterkopf) PHP Tipps 2007 9 16.11.2005 11:37
Problem beim vergleichen von 2 Arrays PHP Tipps 2005-2 1 06.10.2005 14:25
bbcode - Classe PHP-Fortgeschrittene 4 18.09.2004 17:30
[Erledigt] Wert aus einem Array löschen PHP Tipps 2004 1 29.08.2004 22:49

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php array höchsten wert, array zweitgrößter wert, http://www.php.de/php-einsteiger/69998-erledigt-array-zweithoechster-wert-bzw-nach-wertigkeit-ausgeben.html, php array ausgeben, zweitgrößten wert aus array auslesen php, höchsten wert eines arrays ausgeben php, php array größter wert index, php zweitniedrigster wert finden array, php array höchster index, array nach höchstem wert durchsuchen, php array größten schlüssel ausgeben, php größter wert array, php array zweithöchster wert, php array größten wert ausgeben, zweithöchster werte aus array, php denn höchsten index vom array ausgeben lassen, php zweithöchsten wert aus array, zweitgrößter wert array, php zweithöchster wert, php arsort größten wert ausgeben

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:08 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum