php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 06.11.2007, 10:23  
Benutzer
 
Registriert seit: 17.05.2006
Beiträge: 86
simsalabim
Standard Sortierung eines Arrays nach ANZAHL Werte

Moin Moin !

Irgendwie steh ich mal wieder auf'n Schlauch !
Und zwar will ich ein Array sortieren ...
Klingt erstmal einfach ... AAAABER:

Die Sortierung muss nach der ANZAHL der Werte erfolgen.

Beispiel:

$meinarray[$name]['seiten'] Zahl
$meinarray[$name]['besuche'][$datum] Zahl

Code:
[1979327997] => Array
        (
            [seiten] => 20
            [besuche] => Array
                (
                    [05.11.07] => 20
                )
        )

[1993205320] => Array
        (
            [seiten] => 9
            [besuche] => Array
                (
                    [04.11.07] => 8
                    [05.11.07] => 1
                )
        )

[1993780070] => Array
        (
            [seiten] => 2
            [besuche] => Array
                (
                    [03.11.07] => 1
                    [04.11.07] => 1
                )
        )

[2096184008] => Array
        (
            [seiten] => 1
            [besuche] => Array
                (
                    [05.11.07] => 1
                )
        )
Das Ergebnis sollte so aussehen:
[1993205320] (mittels count ergibt sich '2')
[1993780070] (mittels count ergibt sich '2')
[1979327997] (mittels count ergibt sich '1')
[2096184008] (mittels count ergibt sich '1')

Tja, nur wie binde ich "count(...['besuche'])" in die Sortierung ein ?

Ich wette, das ist wieder total simpel und ich seh den Wald vor lauter Bäumen nicht ...

Besten Dank schonmal im voraus !
__________________
Jeder Mensch ist klug !
Der eine vorher, der andere nachher ...
simsalabim ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 06.11.2007, 10:59  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Ich würds so inetwa machen:
PHP-Code:

<?
foreach($array_alt as $key => $value)
{
  
$array_temp[$key] = count($value["besuche"]);
}
arsort($array_temp);
foreach(
$array_temp as $key => $value)
{
  
$array_neu[$key] = $array_alt[$key];
}
?>
cycap ist offline  
Alt 06.11.2007, 11:45  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Du willst erstens nach den Anzahl Tagen und dann nach der (Gesamt-)Anzahl Besuchen sortieren? Das geht z.B. so:
PHP-Code:
<?php
function sort_anz($a$b){
    
$res count($b['besuche']) - count($a['besuche']);
    if(
$res == 0){
        
$res array_sum($b['besuche']) - array_sum($a['besuche']);
    }
    return 
$res;
}

uasort($ar'sort_anz');
?>
[edit]@nikosch ist natürlich nicht überflüssig, aber stand vorher am falschen Ort[/edit]
__________________
Gruss
L
lazydog ist offline  
Alt 06.11.2007, 13:25  
Benutzer
 
Registriert seit: 17.05.2006
Beiträge: 86
simsalabim
Standard

Mahlzeit !

Besten Dank ihr Beiden !

Die Syntax von lazydog funktioniert "out-of-the-box" !

Ich hab's mir jetzt glaub ich schon ca. 15x durchgelesen, aber "begreifen" tu ich's immer noch nicht ...
Aber was soll's ... es tut was es tun soll ...

Besten Dank nochmal !
__________________
Jeder Mensch ist klug !
Der eine vorher, der andere nachher ...
simsalabim ist offline  
Alt 06.11.2007, 13:35  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
Zitat von simsalabim
Die Syntax von lazydog funktioniert "out-of-the-box" !
Das glaub ich ja eher weniger mit dem überflüssigen ?> drin.
Zitat:
Zitat von simsalabim
Ich hab's mir jetzt glaub ich schon ca. 15x durchgelesen, aber "begreifen" tu ich's immer noch nicht ...
Dazu muß man wissen, dass uasort () selbständig jeweils zwei Array Elemente an die gegebene Funktion übergibt (die in der Funktion dann $a und $b darstellen).
nikosch ist offline  
Alt 06.11.2007, 13:44  
Benutzer
 
Registriert seit: 17.05.2006
Beiträge: 86
simsalabim
Standard

Zitat:
Zitat von nikosch77
Das glaub ich ja eher weniger mit dem überflüssigen ?> drin.
Naja OK, ein klein wenig mitdenken tu ich schon auch ...

Zitat:
Zitat von nikosch77
Dazu muß man wissen, dass uasort () selbständig jeweils zwei Array Elemente an die gegebene Funktion übergibt (die in der Funktion dann $a und $b darstellen).
Aja, dann ergibt das schon mehr Sinn ... Danke !
__________________
Jeder Mensch ist klug !
Der eine vorher, der andere nachher ...
simsalabim 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
gruppierte Werte summieren CIMM PHP Tipps 2008 5 22.02.2008 14:31
Sortierung eines Arrays vollkommenegal PHP-Fortgeschrittene 5 14.07.2007 21:12
foreach verändert die werte des arrays das durchlaufen wird Crypi PHP Tipps 2007 5 10.01.2007 08:24
Anzahl der verschiedenen Werte einer Tabellenspalte Datenbanken 4 17.08.2006 15:20
Werte in mehrdim. Arrays zählen PHP Tipps 2007 4 19.12.2005 10:41
[Erledigt] 2 Arrays miteinander vergleichen PHP Tipps 2007 3 17.12.2005 16:54
Dynamische Werte übergabe? Logik Problem jesus666 PHP Tipps 2005-2 21 03.08.2005 17:30
Sortierung mehrerer Arrays PHP Tipps 2005-2 24 10.06.2005 14:39
Werte eines Arrays verändern, nur mit array_walk/map? PHP Tipps 2005 3 17.04.2005 16:00
Werte von mehreren Arrays in Datenbank schreiben! PHP Tipps 2005 10 10.04.2005 16:43
Abfrage der Anzahl bestimmter Werte in einer Spalte Datenbanken 1 13.03.2005 12:30
2 Arrays vergleichen und unterschiede auslesen PHP Tipps 2005 6 25.02.2005 09:34
[Erledigt] Wie kann ich beliebig viele Werte an eine Funktion übergeben PHP Tipps 2005 11 25.01.2005 10:44
Werte eines Arrays in eine MySQL schreiben PHP Tipps 2004 2 28.06.2004 13:32
[Erledigt] Werte eines Arrays aus Tabelle auslesen ? PHP-Fortgeschrittene 12 08.06.2004 19:57

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php array sortieren nach anzahl, php array nach anzahl elemente sortieren, php array anzahl bestimmter werte, array werte sortieren, javascript element nach häufigkeit sortieren, array anzahl elemente php, arrays nach anzahl 1 sortieren, sortieren nach bestimmter anzahl von seiten, php array_sort nach array_sum, anzahl sortierung, array nach anzahl der elemente sortieren, arrays nach wert sortieren, werte nach häufigkeit sortieren, array nach anzahl der keys sortieren, sortierung anzahl, php zahlen sortieren sort() count, php anzahl der werte array, array sortieren nach anzahl, php array zählen und sortieren, php anzahl werte in array

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:11 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.