php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 26-05-2007, 15:25
Sany
 Newbie
Links : Onlinestatus : Sany ist offline
Registriert seit: May 2007
Ort: Aalen
Beiträge: 7
Sany ist zur Zeit noch ein unbeschriebenes Blatt
Sany eine Nachricht über ICQ schicken
Standard Tree in ein Array einfügen wie?

Hallo,

Mir ist es ja schon fast peinlich, diese Frage überhaupt stellen zu müssen, aber es geht grad nicht anderst...

Und zwar, ich hab ein HTML Tree ala:

- Eintrag
|-- Untereintrag
|--- Untereintrag
|----- Untereintrag
|------- Untereintrag
|--- Untereintrag
|- Eintrag

Und zwar ich möchte das Tree direkt in ein Array inkl. Untereinträge kriegen.

Das mit den Einträgen habe ich bereits hinbekommen, jeder Eintrag hat dazu eine eigenschaft als "Single" oder "Tree".

Ich bräuchte ein Script das mir ein Array erstellt mit den Untereinträgen, leider weiß ich nie davor wieviel Untereinträge das ding hat.

Wie stelle ich es an, das Ich das Tree in nen Array krieg?

Hab bereits folgenden Code fertig:


Code:
$stg = new stg();

$tree_tmp = $stg->server_getCategorieTree("A0005600");

foreach($tree_tmp as $tree_key => $tree_value)
{
	if($tree_value['prop'] == 'tree')
	{
		$cat = $stg->server_getCategorieTree($tree_value['wg']);
		$tree_value['tree'] = array();
		array_push($tree_value['tree'], $cat);
		
		foreach($tree_value['tree'] as $key => $value)
		{
			while($value['prop'] == 'tree')
			{
				$cat = $stg->server_getCategorieTree($cat['wg']);
				$tree_value['tree'] = array();		
				array_push($tree_value['tree'], $cat);
			}
		}
	}
	
	
	$tree_tmp[$tree_key] = $tree_value;
}
Die funktion server_getCategories, liefert mir ein Array mit den Angaben, WG, NAME und PROP (main oder tree)....

Ergebnis:
Code:
    [11] => Array
        (
            [wg] => A1002402
            [name] => OMNITRONIC Plattenspielergruppen
            [prop] => tree
            [tree] => Array
                (
                    [0] => Array
                        (
                            [0] => Array
                                (
                                    [wg] => A1063512
                                    [name] => OMNITRONIC Plattenspieler direktgetrieben
                                    [prop] => main
                                )

                            [1] => Array
                                (
                                    [wg] => A1063522
                                    [name] => OMNITRONIC Riemengetr. Plattenspieler
                                    [prop] => main
                                )

                            [2] => Array
                                (
                                    [wg] => A1063532
                                    [name] => OMNITRONIC High-Torque Plattenspieler
                                    [prop] => main
                                )

                            [3] => Array
                                (
                                    [wg] => A1063600
                                    [name] => Zubehör für Plattenspieler
                                    [prop] => tree
                                )

                        )

                )

        )
Wie mann sieht, hakt es hier nun an den Unterkategorien, da ich leider nicht weiß wieviel Unterkategorien jeweils die Kategorie hat.

Danke schön
Mit Zitat antworten
  #2 (permalink)  
Alt 26-05-2007, 17:02
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Stichwort "Rekursion".
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #3 (permalink)  
Alt 26-05-2007, 19:33
Sany
 Newbie
Links : Onlinestatus : Sany ist offline
Registriert seit: May 2007
Ort: Aalen
Beiträge: 7
Sany ist zur Zeit noch ein unbeschriebenes Blatt
Sany eine Nachricht über ICQ schicken
Standard

Und wo finde Ich Verwendbare informationen darüber??

Danke!
Mit Zitat antworten
  #4 (permalink)  
Alt 26-05-2007, 19:46
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Rekursion ist nichts PHP-spezifisches.

http://www.google.de/search?q=rekursion
Mit Zitat antworten
  #5 (permalink)  
Alt 26-05-2007, 19:58
Koala
 PHP Junior
Links : Onlinestatus : Koala ist offline
Registriert seit: Jan 2006
Beiträge: 887
Koala ist zur Zeit noch ein unbeschriebenes Blatt
Standard

eine rekursive Funktion ruft sich selber immer wieder so lange auf,
so lange eine Abbruchbedingung nicht erreicht wird.

Die Abbruchbedingung muß also gut gewählt sein,
da das Script sonst endlos läuft (laufen will ...).

http://www.tech-island.com/technet/t...programmieren/

Geändert von Koala (26-05-2007 um 20:02 Uhr)
Mit Zitat antworten
  #6 (permalink)  
Alt 27-05-2007, 03:32
Sany
 Newbie
Links : Onlinestatus : Sany ist offline
Registriert seit: May 2007
Ort: Aalen
Beiträge: 7
Sany ist zur Zeit noch ein unbeschriebenes Blatt
Sany eine Nachricht über ICQ schicken
Standard

Kann mir denn jemand freundlicher weiße einen Beispielcode anhand meiner bereits oben geposteten Funktion geben??

Wäre echt nett, weil ich steh echt auf'm schlauch.

Die Rekursive programmierung ist mir bekannt, aber leider fehlt es mir an der gedanklichen Umsetzung
Mit Zitat antworten
  #7 (permalink)  
Alt 27-05-2007, 08:55
Koala
 PHP Junior
Links : Onlinestatus : Koala ist offline
Registriert seit: Jan 2006
Beiträge: 887
Koala ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
einen Beispielcode anhand meiner bereits oben geposteten Funktion
Was für ein Stuss - wenn Du meinst man soll Dir den Code schreiben,
dann schreib das auch so.

Machen tu ichs nicht.

Du hast einen Link mit Beispielen bekommen.

Wenn Du nicht in der Lage bist Beispiele selbst umzuschreiben,
dann ist Programmieren nichts für Dich.

Dieses Minimum an "gedanklicher Umsetzung", sprich "Hirn", ist einfach Voraussetzung.
Mit Zitat antworten
  #8 (permalink)  
Alt 29-05-2007, 00:20
Sany
 Newbie
Links : Onlinestatus : Sany ist offline
Registriert seit: May 2007
Ort: Aalen
Beiträge: 7
Sany ist zur Zeit noch ein unbeschriebenes Blatt
Sany eine Nachricht über ICQ schicken
Standard

Zitat:
Original geschrieben von Koala
Was für ein Stuss - wenn Du meinst man soll Dir den Code schreiben,
dann schreib das auch so.

Machen tu ichs nicht.

Du hast einen Link mit Beispielen bekommen.

Wenn Du nicht in der Lage bist Beispiele selbst umzuschreiben,
dann ist Programmieren nichts für Dich.

Dieses Minimum an "gedanklicher Umsetzung", sprich "Hirn", ist einfach Voraussetzung.
Wenn ich gesagt hätte, das mir jemand den Code schreiben hätte sollen, hätte ich dies getan. hab ich aber nicht somit komm mir nicht blöde!

Um was ich gebeten habe war lediglich ein Beispiel, nicht mehr und nicht weniger, das ist kein Grund mich so blöd von der Seite anzufahren.

Wir sind schließlich in einem Forum!
Mit Zitat antworten
  #9 (permalink)  
Alt 29-05-2007, 01:16
Koala
 PHP Junior
Links : Onlinestatus : Koala ist offline
Registriert seit: Jan 2006
Beiträge: 887
Koala ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
einen Beispielcode anhand meiner bereits oben geposteten Funktion
Dann erklrär mal was ein Beispielcode anhand Deiner Funktion sein soll.

Ein Beispiel ist ein Beispiel und ein konkretes Beispiel ist kein Beispiel mehr.

Warte noch ein paar Monate - vielleicht passiert ein Wunder.
Mit Zitat antworten
  #10 (permalink)  
Alt 29-05-2007, 01:50
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

http://de.wikipedia.org/wiki/Rekursi...ammierbeispiel
http://en.wikipedia.org/wiki/Recursi...mputer_science
http://de.wikibooks.org/wiki/Website...PHP:_Rekursion
http://devzone.zend.com/node/view/id/1235

Wenn du alles gelesen und noch nichts verstanden hast, sind dir unterwegs jedenfalls genug Begriffe begegnet, um Google zu füttern.
Mit Zitat antworten
  #11 (permalink)  
Alt 29-05-2007, 20:23
Sany
 Newbie
Links : Onlinestatus : Sany ist offline
Registriert seit: May 2007
Ort: Aalen
Beiträge: 7
Sany ist zur Zeit noch ein unbeschriebenes Blatt
Sany eine Nachricht über ICQ schicken
Standard

Zitat:
Original geschrieben von Koala
Dann erklrär mal was ein Beispielcode anhand Deiner Funktion sein soll.

Ein Beispiel ist ein Beispiel und ein konkretes Beispiel ist kein Beispiel mehr.

Warte noch ein paar Monate - vielleicht passiert ein Wunder.
Pass mal auf, unter einem Beispiel verstehe Ich einen Ansatz wie man anfangen könnte, jedoch kein kompletten Code.

Wenn ich jedoch einen Code hätte wollen, hätte Ich sicherlich gepostet
"Wer ist so dumm und programmiert mir die gewünschte Funktion?"

Du musst dich wohl schon für was besseres halten, wenn du gleich Neulinge dumm von der Seite anbabbelst ohne dir mal angehört zu haben was Sie überhaupt wollen.

Ja ich warte wohl lieber noch ein paar Monate, vielleicht hat sich in deiner Birne was getan und du bist mal etwas menschen freundlicher.
Leider scheint mir, du hattest wohl kein glück wo die freundlichekeit ausgeteilt wurde...


Trotzdem danke an alle
Mit Zitat antworten
  #12 (permalink)  
Alt 29-05-2007, 20:26
Sany
 Newbie
Links : Onlinestatus : Sany ist offline
Registriert seit: May 2007
Ort: Aalen
Beiträge: 7
Sany ist zur Zeit noch ein unbeschriebenes Blatt
Sany eine Nachricht über ICQ schicken
Standard

Danke, dein Beitrag hat mir geholfen, problem bereits gelöst..

Werde hier die Funktion posten, für User die das auch mal brauchen oder mal an bestimmte User geraten...

Code:
$tree_tmp = getTree("A0005600");

function getTree($wg)
{
	$stg = new stg();

	$tree_tmp = $stg->server_getCategorieTree($wg);
	
	if(is_array($tree_tmp)){
		foreach($tree_tmp as $key => $value)
		{
			if($value['prop'] == 'tree')
			{
				$array[] = getTree($value['wg']);
				$array[] =  array('wg' => $tree_tmp['wg'],'name' => $tree_tmp['name'],'prop' => $tree_tmp['prop']);
			}
			
			if(is_array($array))
			{
				$tree_tmp[$key]['nodes'] = $array;
				unset($array);
			}
		}
	}

	return $tree_tmp;
}

Geändert von Sany (29-05-2007 um 20:54 Uhr)
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 10:35 Uhr.