php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 24.10.2008, 15:12  
Neuer Benutzer
 
Benutzerbild von vdite
 
Registriert seit: 21.10.2008
Beiträge: 22
vdite befindet sich auf einem aufstrebenden Ast
Standard Tupel aus einem Array mit foreach rausholen?

hi,

ich grübele nun schon seit gestern Mittag an einer Lösung, die mir partout nicht in Kopf möchte.

Ich habe ein Array
Code:
Array  
(
  [12]=>Array
            (
              [2]=>Inkognito
              [6]=>TheKing
              [9]=>Vister
              [...]=> ...
              [1]=>Dummy
              [count]=>3      //is always there
             )

   [67]=>Array
            (
              [3]=>Inser
              [5]=>ThePorter
              [9]=>Vister
              [count]=>1      //is always there
             )
)
Aus diesem Array muss ich jetzt die folgende Struktur bekommen
Code:
//Nodes
<Person id=2 name=Inkognito>
<Person id=6 name=TheKing>
<...>
<Person id=9 name=Vister>

//Edges
<Edge fromID=2 toID=6 linesize=3>
<Edge fromID=6 toID=9 linesize=3>
<...>
<Edge fromID=3 toID=9 linesize=1>
Die Knoten (Person) bekomme ich wunderbar hin, für die Kanten fehlt mir immer noch jede Idee

Code:
foreach($input as $value){
   //betrachtet nur  Arrays mit min. 2 Elementen neben count
   if(count($value)>2){  
      foreach($value as $ikey=>$ivalue){
         if ($ikey!=="count"){
	    $xmlnode .= '<Person id="'.$ikey.'" name="'.$ivalue.'"/>';
	    $xmlrelation .= '??????'; // wie komme ich an den $ikey-next?
         }else{
            $xmlrelation .= '??????'; // hier müsste das linesize Attribut der Kante angehängt werden
         }
     }
   }
}
Ich hoffe es kann mir jm. helfen
vdite ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 24.10.2008, 15:15  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.988
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

Wie ist denn das Prinzip der Verbindung? Aufeinanderfolgende, alle mit allen oder wie?
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 24.10.2008, 15:18  
Neuer Benutzer
 
Benutzerbild von vdite
 
Registriert seit: 21.10.2008
Beiträge: 22
vdite befindet sich auf einem aufstrebenden Ast
Standard

Alle mit Allen
vdite ist offline  
Alt 24.10.2008, 15:19  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.988
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

Z.B. mit einen $lastkey , der vor den foreach null und am Ende der Schleife mit dem aktuellen key initialisiert wird. Dann immer $lastkey - $ikey speichern.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 24.10.2008, 15:24  
Neuer Benutzer
 
Benutzerbild von vdite
 
Registriert seit: 21.10.2008
Beiträge: 22
vdite befindet sich auf einem aufstrebenden Ast
Standard

$ikey ist nicht kontinuierlich aus (1...n). Es ist die ID des Users und steht nicht für den INDEX des Arrays.

Oder sollte ich dann die Struktur des Arrays nochmal überdenken?
__________________
Hier findet Ihr alles, was ich dank eurer Hilfe geschafft habe und noch mehr: http://viskoda.viktor-dite.de
vdite ist offline  
Alt 24.10.2008, 15:30  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.988
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:
$ikey ist nicht kontinuierlich aus (1...n). Es ist die ID des Users und steht nicht für den INDEX des Arrays.
Schon klar.
Zitat:
Alle mit Allen
stand da nicht eben was anderes?

unset ($value['count']);
myFunction ($value);

In myFunction mußt Du einen Algorithmus umsetzen, der in einem Array alle Elemente als paarweise Kombination abbildet
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 24.10.2008, 15:42  
Neuer Benutzer
 
Benutzerbild von vdite
 
Registriert seit: 21.10.2008
Beiträge: 22
vdite befindet sich auf einem aufstrebenden Ast
Standard

Danke, ich sehe wieder ein Licht am Horizont!

ja, da stand eben was anderes. Nachdem ich die Antwort geschrieben habe ist mir in den Sinn gekommen, dass es gar nicht stimmt. Die Relation besagt, dass diese User alle an einem Artikel mitgeschrieben haben und damit alle miteinander eine Gemeinsamkeit haben.

Danke für das unset! Das kannte ich noch nicht!
Existiert denn so ein Algorithmus? Ich habe gerade ein wenig gesucht, kann aber keinen Namen finden.
__________________
Hier findet Ihr alles, was ich dank eurer Hilfe geschafft habe und noch mehr: http://viskoda.viktor-dite.de
vdite ist offline  
Alt 24.10.2008, 15:47  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.988
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

Bestimmt. Ich war jetzt zu faul drüber nachzudenken. Vom Prinzip aber so:
Code:
while ($item = array_pop ($array))
  {
  // kombiniere $item mit den verbelibenden Elementen von $array und schreibs irgendwo hin
  }
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 24.10.2008, 16:44  
Neuer Benutzer
 
Benutzerbild von vdite
 
Registriert seit: 21.10.2008
Beiträge: 22
vdite befindet sich auf einem aufstrebenden Ast
Standard

ich sehe nichts hinter Deiner Idee

mir fällt nur ein Kreuzprodukt ein
Code:
foreach ($value as $ikey=>$ivalue){
   foreach ($value as $jkey=>$jvalue){
      echo($ikey.':'.$jkey);
   }
}
aber dann habe ich leider ja auch doppelte Abbildungen
__________________
Hier findet Ihr alles, was ich dank eurer Hilfe geschafft habe und noch mehr: http://viskoda.viktor-dite.de
vdite ist offline  
Alt 24.10.2008, 16:50  
Neuer Benutzer
 
Benutzerbild von vdite
 
Registriert seit: 21.10.2008
Beiträge: 22
vdite befindet sich auf einem aufstrebenden Ast
Standard

ah, jetzt ja, jetzt dämmerts

Code:
while ($item=array_pop($value)){
   foreach ($value as $jvalue){
      echo($item.':'.$jvalue.' - ');
   }
}
Wie kann man nun das Problem lösen, auf die keys anstatt die values zuzugreifen?

array_pop() liefert leider nur das value, nicht den key
__________________
Hier findet Ihr alles, was ich dank eurer Hilfe geschafft habe und noch mehr: http://viskoda.viktor-dite.de
vdite 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
[Erledigt] Einträge mit einer Foreach Schleife rausholen saitho PHP Tipps 2008 17 18.07.2008 22:46
Eindimensionales Array ohne index per foreach erstellen phpbeginner PHP Tipps 2008 4 10.03.2008 14:18
Ü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
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
(schnellere) Funktion zum Zusammenfassen von CSS PHP-Fortgeschrittene 21 08.08.2005 16:47
Sortieren von Arrays mit mehr als 2 Dimensionen (Teil 2) Buhmann PHP-Fortgeschrittene 4 12.07.2005 14:03
Array wie auslesen? PHP Tipps 2005 7 07.03.2005 11:43
[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

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php tupel, javascript tupel, php tuple, array tupel, tupel php, php array tupel, tupel javascript, element aus array holen, javascript tuple, php array tuple, foreach 2 arrays, javascript tupel in array, array enthält tupel, array tuppel 3 alle möglichkeiten php, js tupel im array löschen, javascript tuple php, tupel speichern php, tuple is a array, php paarweise kombinationen aller element eines array, javascript array aus php holen

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