php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 08.02.2007, 11:26  
Benutzer
 
Registriert seit: 03.08.2006
Beiträge: 49
Riks
Standard Multidimensionales Array aufbauen

Hi,

ich möchte gern ein multidimensionales Array aufbauen, aus folgenden strings:

z.B. $row['name'] = 'user-group-category';

jetzt möchte ich das am Ende rauskommt:

$strings = explode('-',$row['name']);
$array['user']['group']['category'] = $row;

die anzahl der $strings ist aber ganz unterschiedlich, ich kann also nicht immer von 3 wie hier ausgehen
hat jemand vielleicht einen ansatz für mich?
Riks ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 08.02.2007, 11:35  
Gast
 
Beiträge: n/a
Standard

Wenn ich dich richtig verstanden habe suchst du so etwas.
PHP-Code:
<?php
$strings 
explode('-',$row['name']);
$array[$strings[0]][$strings[1]][$strings[2]] = $row
?>
den Sinn habe ich allerdings nicht verstanden.
 
Alt 08.02.2007, 11:46  
Benutzer
 
Registriert seit: 03.08.2006
Beiträge: 49
Riks
Standard

Das ist für foreach-schleifen die struktur des Arrays ist etwas vereinfacht.
Ich dachte das es vllt ne elegantere Lösung gibt als

PHP-Code:
switch(count($strings)) {
    case 
1$array[$strings[0]] = $row; break;
    case 
2$array[$strings[0]][$strings[1]] = $row; break;

aber na gut, geht wohl nich anders...
Riks ist offline  
Alt 08.02.2007, 11:48  
Gast
 
Beiträge: n/a
Standard

bestimmt aber mir is gerade auch nix anderes eingefallen^^
 
Alt 08.02.2007, 12:44  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Zitat:
Zitat von Riks
Das ist für foreach-schleifen die struktur des Arrays ist etwas vereinfacht.
Ich dachte das es vllt ne elegantere Lösung gibt als

PHP-Code:
switch(count($strings)) {
    case 
1$array[$strings[0]] = $row; break;
    case 
2$array[$strings[0]][$strings[1]] = $row; break;

aber na gut, geht wohl nich anders...
Ich finde das ziemlich elegant. Frage ist nur, ob es sinnvoll ist, den Array variabel tief zu erstellen. Beim Auslesen musst du ja schon wieder testen, was für eine Tiefe der Array hat.
Zergling-new ist offline  
Alt 08.02.2007, 13:06  
Benutzer
 
Registriert seit: 03.08.2006
Beiträge: 49
Riks
Standard

das ist richtig, aber nicht für jeden kategorie gibt es zum beispiel auch 3 tiefen, dazwischen kommt immer noch z.b. ['options'] sollte es eine tiefere Ebene geben und die frag ich dann mit isset($level3['options']) { foreach.... } usw. ab.

Ok, dann lass ich das jetzt so
Riks ist offline  
Alt 08.02.2007, 18:27  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
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 Re: Multidimensionales Array aufbauen

Zitat:
Zitat von Riks
$strings = explode('-',$row['name']);
$array['user']['group']['category'] = $row;
wenn du dir bewußt machst, dass explode ein array ausgibt, brauchst du den schmott mit der switch anweisung auch nicht. durchläufst du halt dieses array und baust deine schachtel auf:

PHP-Code:
$aRow = array (17,2'name' => 'abc-cde-fgh'); 
$aStrings explode ('-' $aRow['name']);
$mRef $aRow;
rsort ($aStrings);
foreach (
$aStrings as $sString)  
  {
  
$mRef = array ($sString => $mRef);
  }


print_r($mRef); 
nikosch 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
Soapfault: Undefined Property Argi PHP-Fortgeschrittene 0 28.07.2008 11:17
Multidimensionales Array anzeigen und summieren tommi89 PHP Tipps 2008 5 19.02.2008 08:40
Multidimensionales Array nach String sortieren ssm PHP Tipps 2006 12 29.03.2006 15:38
Übersicht aus mehrdimensionalem Array erzeugen Crypi PHP-Fortgeschrittene 0 30.01.2006 13:44
Array auslesen andrew22 PHP Tipps 2006 3 21.01.2006 23:06
Array Formatierung PHP Tipps 2006 3 17.01.2006 19:12
Multidimensionales Array assoziativ sortieren. PHP Tipps 2005-2 11 26.10.2005 20:13
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
Sortieren von Arrays mit mehr als 2 Dimensionen (Teil 2) Buhmann PHP-Fortgeschrittene 4 12.07.2005 14:03
[Erledigt] Mehrdimensionales Array in eindimensionales Array umwandeln PHP-Fortgeschrittene 3 03.01.2005 22:31
Abfrage mit id aus anderer Tabelle suter PHP Tipps 2004-2 15 16.12.2004 14:25
multidimensionales Array aus Textdatei PHP Tipps 2004 7 09.06.2004 21:57

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
array aufbauen, php explode assoziativ, php array as category, php array durch string aufbauen

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