php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 02.09.2006, 22:01  
Benutzer
 
Registriert seit: 24.01.2005
Beiträge: 56
Melchior
Standard Userlist Array sortieren und gruppieren (1Dim -> 2Dim)

Holla,

sitze grad an nem kleinen Problem und dacht ich frag euch ma.
In der suche habe ich mein Problem nicht gefunden.

Ich möchte einen Userlist (array) so umstortieren, dass ich sie nach den Anfangsbuchstaben gruppiert bekomme. Sprich wir machen aus nem ein- ein zweidimensionales Array

Berta Müller
Emil Kuntz
Eva Schneider
Klaus Schmidt

-->

[b] Berta Müller
[E] Emil Kuntz, Eva Schneider
[K] Klaus Schmidt

Ich dachte ich mache dass so, dass ich die namen als Array in ein Array push wobei als indexer vom level der Anfangsbuchstabe genommen wird.

PHP-Code:
    $users_arr =  $this->Prepare_users();
        
        
$users_grouped_arr = Array(Array());
        
        foreach (
$users_arr as $item) { 
            
            
$capital strtolower($item[name]{0});
    
            
array_push($users_grouped_arr[$capital], array ('name' => $item[name]    ));
        } 
Das Problem iss, dass array_push das nicht mitmacht Krieg ne fehlermeldung. Hat vielleicht noch jemand nen anderen Trick in der Kiste?

gruß marco
Melchior ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 02.09.2006, 22:20  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard Re: Userlist Array sortieren und gruppieren (1Dim -> 2Dim

Zitat:
Zitat von MF
Das Problem iss, dass array_push das nicht mitmacht Krieg ne fehlermeldung. Hat vielleicht noch jemand nen anderen Trick in der Kiste?
Na dann verrate nur niemanden, wie diese Fehlermeldung denn so lautet.



Und mal so als erster Ansatz:
PHP-Code:
<?php
$users_arr 
=  $this->Prepare_users();
        
$users_grouped_arr = array();
        
foreach (
$users_arr as $item)
{        
   
$capital strtolower($item[name]{0});
   
$users_grouped_arr[$capital][] = $item[name];
}
?>
__________________
**********************************
Nein, ich bin nicht die Signatur.
Ich putze hier nur.
**********************************
Der_Gerhard ist offline  
Alt 02.09.2006, 23:01  
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse:
Fortgeschritten
Basti
Standard

error_reporting(E_ALL);

B.
Basti ist offline  
Alt 03.09.2006, 07:09  
Benutzer
 
Registriert seit: 24.01.2005
Beiträge: 56
Melchior
Standard

oh, hab die Fehlermeldung vergessen. sorry

PHP-Code:
$users_arr =  $this->Prepare_users();
        
        
$users_grouped_arr = Array(Array());
        
        foreach (
$users_arr as $item) { 
            
            
$capital strtolower($item["prename"]{0});
        
//    $users_grouped_arr["$capital"][] = $item["prename"]; 
            
array_push($users_grouped_arr["$capital"][], array ('prename' => $item["prename"]    ));
        }
        
print_r ($users_grouped_arr); 
Fehlermeldung Warning: array_push() [function.array-push]: First argument should be an array in S:\homenet.de\de.salexdesign.media\classes\class.p eople.php on line 77

Also wenn ich
PHP-Code:
array_push($users_grouped_arr, array (pre... 
oder so mache, gibts es keine Fehlermeldung, allerdings habe ich die grupierung dann nicht mehr.

Der Ansatz
PHP-Code:
 $users_grouped_arr["$capital"][] = $item["prename"]; 
funktioniert soweit auch, nur dass ich da dem Anfangsbuchstaben nur ein Element zuweisen kann - aber ich habe da einige mehr, die ich zuweisen möchte ...


würd mich freuen wenn jmd nen Tipp hätte
gruß marco
Melchior ist offline  
Alt 03.09.2006, 09:57  
Erfahrener Benutzer
 
Registriert seit: 11.07.2004
Beiträge: 269
function
function eine Nachricht über ICQ schicken
Standard

ok erstmal würd ich in zeile 4 array(array()) kleinschreiben.
dann bei
PHP-Code:
$users_grouped_arr["$capital"][] = $item["prename"]; 
die anführungszeichen bei $capital weg lassen und dann nochmal schauen
__________________
Es ist ein großer Trost, andere dort scheitern zu sehen, wo man selbst gescheitert ist. (William Somerset Maugham)
function ist offline  
Alt 03.09.2006, 09:59  
Benutzer
 
Registriert seit: 24.01.2005
Beiträge: 56
Melchior
Standard

bring leider keine Änderung, output wie gehabt,

gruß marco
__________________
MF goes Melchior
Melchior ist offline  
Alt 03.09.2006, 10:00  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von MF
oh, hab die Fehlermeldung vergessen. sorry

PHP-Code:
$users_arr =  $this->Prepare_users();
        
        
$users_grouped_arr = Array(Array());
        
        foreach (
$users_arr as $item) { 
            
            
$capital strtolower($item["prename"]{0});
        
//    $users_grouped_arr["$capital"][] = $item["prename"]; 
            
array_push($users_grouped_arr["$capital"][], array ('prename' => $item["prename"]    ));
        }
        
print_r ($users_grouped_arr); 
Fehlermeldung Warning: array_push() [function.array-push]: First argument should be an array in S:\homenet.de\de.salexdesign.media\classes\class.p eople.php on line 77
Dann solltest Du vielleicht noch sowas einfügen:

PHP-Code:
<?php
if (!isset($users_grouped_arr["$capital"]))
   
$users_grouped_arr["$capital"] = array();
?>
Zitat:
Zitat von MF

Der Ansatz
PHP-Code:
 $users_grouped_arr["$capital"][] = $item["prename"]; 
funktioniert soweit auch, nur dass ich da dem Anfangsbuchstaben nur ein Element zuweisen kann - aber ich habe da einige mehr, die ich zuweisen möchte ...
Wieso nur ein Element?
Durch das [] wird doch einfach ein Element ans Ende des Arrays angehängt.
__________________
**********************************
Nein, ich bin nicht die Signatur.
Ich putze hier nur.
**********************************
Der_Gerhard ist offline  
Alt 03.09.2006, 10:17  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von function
dann bei
PHP-Code:
$users_grouped_arr["$capital"][] = $item["prename"]; 
die anführungszeichen bei $capital weg lassen und dann nochmal schauen
Was soll das jetzt mit dem Problem zu tun haben?
__________________
**********************************
Nein, ich bin nicht die Signatur.
Ich putze hier nur.
**********************************
Der_Gerhard ist offline  
Alt 03.09.2006, 12:28  
Benutzer
 
Registriert seit: 24.01.2005
Beiträge: 56
Melchior
Standard

Der_Gerhard iss der Hammer, es funzt mit der isset-abfrage!!

perfekt, daaaanke.

gruß marco
__________________
MF goes Melchior
Melchior ist offline  
Alt 03.09.2006, 12:56  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard

Die Fehlermeldung war doch deutlich.

Mir ist nicht ganz klar, wass Du mit diesem
PHP-Code:
<?php
 $users_grouped_arr 
= Array(Array());
?>
bezwecken willst.

Vermutlich sollte das bereits ein zweidimensionales Array erstellen, das kann aber nicht funktionieren.
Woher soll PHP denn wissen, zu welchem Index noch ein weiteres Array angelegt werden soll?
Das ist ja erst bekannt, nachdem Du $capital ermittelt hast.

Lege lieber ein ganz normales Array an mit
PHP-Code:
<?php
$users_grouped_arr 
= array();
?>
Bist Du eigentlich sicher, dass da wirklich ein 2dimensionales Array draus wird und nicht 3dimensional?
__________________
**********************************
Nein, ich bin nicht die Signatur.
Ich putze hier nur.
**********************************
Der_Gerhard 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
Turnierbaum aus array erstellen kingflo PHP-Fortgeschrittene 11 30.07.2008 11:32
Array sortieren mit regex Lupi PHP Tipps 2008 3 21.07.2008 15:17
Array nach bestimmter Spalte sortieren GELight PHP Tipps 2006 4 19.08.2006 23:42
Mehrdimensionales Array sortieren Unbekanntes_Pferd PHP Tipps 2006 6 23.05.2006 20:42
array richtig sortieren, dann ausgeben Heart PHP Tipps 2006 5 28.04.2006 20:23
Array auslesen andrew22 PHP Tipps 2006 3 21.01.2006 23:06
Menü mit Unterpunkten supertramp Beitragsarchiv 7 18.10.2005 22:40
Problem beim vergleichen von 2 Arrays PHP Tipps 2005-2 1 06.10.2005 14:25
Array verkehrt sortieren (key) // letzter Arrayeintrag PHP Tipps 2005-2 5 20.09.2005 15:55
Sortieren von Arrays mit mehr als 2 Dimensionen (Teil 2) Buhmann PHP-Fortgeschrittene 4 12.07.2005 14:03
Array sortieren PHP Tipps 2005 7 15.05.2005 02:14
2 Array in Abhänigkeit sortieren? PHP Tipps 2005 4 10.02.2005 20:31
Array mit Gruppen: Wie Sortieren PHP Tipps 2005 2 29.01.2005 15:15
[Erledigt] Mehrdimensionales Array in eindimensionales Array umwandeln PHP-Fortgeschrittene 3 03.01.2005 22:31

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php array gruppieren, foreach gruppieren, array sortieren gruppieren, php array namen anfangsbuchstaben, php array sortieren gruppieren ausgeben, php foreach gruppieren, php array sortieren gruppieren, normales array sortieren php, php-script gruppieren, javascript array gruppieren, javascript array sortieren gruppieren, php arraqy mit date sortieren und guppieren, php script liste gruppieren und sortieren, array sort gruppieren, php array nach anfangsbuchstaben gruppieren, php mehrdimensionalen array sortieren gruppieren, javascript array mit anfangsbuchstaben, erst sortieren, dann gruppieren php, array feld gruppieren, array sortieren und gruppieren

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