Servus liebes Forum,
Folgendes Problem.
Ich möchte ein mehrdimensionales Array auslesen und in einem bestimmten Format ausgeben. Wenn das Arrayelement keine weiteren Unterelemente hat, dann soll x ausgegeben werden, ansonsten y.
Dazu habe ich eine Funktion erstellt, die alle Elemente ausliest. Falls Unterelemente auftreten ruft sich die Funktion selber auf. Das klappt sowit alles ganz gut, aber jetzt komme ich an meine Grenzen und verliere den Überblick.
Das Problem ist bei der Ausgabe zu sehen.
Wie muss ich meine Funktion erweitern, dass er nachdem alle Childreens ausgelesen hat, auch wirklich mit ] abschliesst. Auch weiss ich nicht wie ich beeinflussen kann, dass nach einem letzten Element kein , ausgegeben wird.
Vielen Dank für die Hilfe!
Dober
Hier das Array
sowie die Funktion zum auslesen
Die Ausgabe sieht wie folgt aus
Hier noch zur Ansicht eine funktionierende Ausgabe, wo alles korrekt ist
Folgendes Problem.
Ich möchte ein mehrdimensionales Array auslesen und in einem bestimmten Format ausgeben. Wenn das Arrayelement keine weiteren Unterelemente hat, dann soll x ausgegeben werden, ansonsten y.
Dazu habe ich eine Funktion erstellt, die alle Elemente ausliest. Falls Unterelemente auftreten ruft sich die Funktion selber auf. Das klappt sowit alles ganz gut, aber jetzt komme ich an meine Grenzen und verliere den Überblick.
Das Problem ist bei der Ausgabe zu sehen.
Wie muss ich meine Funktion erweitern, dass er nachdem alle Childreens ausgelesen hat, auch wirklich mit ] abschliesst. Auch weiss ich nicht wie ich beeinflussen kann, dass nach einem letzten Element kein , ausgegeben wird.
Vielen Dank für die Hilfe!
Dober
Hier das Array
PHP:
$dir = array(
'M-Marketing' => array(
'M0-Vordrucke' => null,
'M1-Allgemein' => null,
'M2-Vertrieb' => null
),
'S-Studium' => null
);
$output = '[{';
$output.=rekurs($dir);
$output.='}]';
sowie die Funktion zum auslesen
PHP:
function rekurs($ar){
global $output;
foreach ($ar as $key => $value) {
if (is_array($value)) {
$output.="
task:'".$key."',
duration:'5',
user:'',
uiProvider:'col',
cls:'master-task',
iconCls:'task-folder',
children:[
\n";
rekurs($value);
} else {
$output.="
{
task:'".$key."',
duration:'5',
user:'Jack Slocum',
uiProvider:'col',
leaf:true,
iconCls:'task'
},\n";
}
}
return $output;
}
Die Ausgabe sieht wie folgt aus
PHP:
[{
task:'M-Marketing',
duration:'5',
user:'',
uiProvider:'col',
cls:'master-task',
iconCls:'task-folder',
children:[
{
task:'M0-Vordrucke',
duration:'5',
user:'Jack Slocum',
uiProvider:'col',
leaf:true,
iconCls:'task'
},{
task:'M1-Allgemein',
duration:'5',
user:'Jack Slocum',
uiProvider:'col',
leaf:true,
iconCls:'task'
},{
task:'M2-Vertrieb',
duration:'5',
user:'',
uiProvider:'col',
cls:'master-task',
iconCls:'task-folder',
}, // da es das letzte Child ist, darf kein Komma ausgegeben werden, sondern ein ]
}]
Hier noch zur Ansicht eine funktionierende Ausgabe, wo alles korrekt ist
PHP:
[{
task:'Online',
duration:'3 hours',
user:'',
uiProvider:'col',
cls:'master-task',
iconCls:'task-folder',
children:[{
task:'DMS KnowledgeTree',
duration:'3 hours',
user:'',
uiProvider:'col',
cls:'master-task',
iconCls:'task-folder',
children:[{
task:'Dokument1',
duration:'15 min',
user:'Jack Slocum',
uiProvider:'col',
leaf:true,
iconCls:'task'
},{
task:'Dokument2',
duration:'45 min',
user:'Jack Slocum',
uiProvider:'col',
leaf:true,
iconCls:'task'
}]
},{
task:'Offline',
duration:'3 hours',
user:'',
uiProvider:'col',
cls:'master-task',
iconCls:'task-folder',
children:[{
task:'Bewerberliste',
itemid:'1',
user:'Jack Slocum',
uiProvider:'col',
leaf:true,
iconCls:'task'
},{
task:'Dokument2',
duration:'45 min',
user:'Jack Slocum',
uiProvider:'col',
leaf:true,
iconCls:'task'
}]
},{
task:'Sonstiges',
duration:'3 hours',
user:'',
uiProvider:'col',
cls:'master-task',
iconCls:'task-folder',
children:[{
task:'Dokument1',
duration:'15 min',
user:'Jack Slocum',
uiProvider:'col',
leaf:true,
iconCls:'task'
},{
task:'Dokument2',
duration:'45 min',
user:'Jack Slocum',
uiProvider:'col',
leaf:true,
iconCls:'task'
}]
},{
task:'Dokument 1, nicht zugeordnet',
duration:'45 min',
user:'Jack Slocum',
uiProvider:'col',
leaf:true,
iconCls:'task'
}]
},{
task:'Lokal',
duration:'2 1/2 hours',
user:'',
uiProvider:'col',
cls:'master-task',
iconCls:'task-folder',
children:[{
task:'Briefe',
duration:'3 hours',
user:'',
uiProvider:'col',
cls:'master-task',
iconCls:'task-folder',
children:[{
task:'Dokument1',
duration:'15 min',
user:'Jack Slocum',
uiProvider:'col',
leaf:true,
iconCls:'task'
},{
task:'Dokument2',
duration:'45 min',
user:'Jack Slocum',
uiProvider:'col',
leaf:true,
iconCls:'task'
}]
},{
task:'Vordrucke',
duration:'3 hours',
user:'',
uiProvider:'col',
cls:'master-task',
iconCls:'task-folder',
children:[{
task:'Dokument1',
duration:'15 min',
user:'Jack Slocum',
uiProvider:'col',
leaf:true,
iconCls:'task'
},{
task:'Dokument2',
duration:'45 min',
user:'Jack Slocum',
uiProvider:'col',
leaf:true,
iconCls:'task'
}]
},{
task:'Rechnungswesen',
duration:'3 hours',
user:'',
uiProvider:'col',
cls:'master-task',
iconCls:'task-folder',
children:[{
task:'Dokument1',
duration:'15 min',
user:'Jack Slocum',
uiProvider:'col',
leaf:true,
iconCls:'task'
},{
task:'Dokument2',
duration:'45 min',
user:'Jack Slocum',
uiProvider:'col',
leaf:true,
iconCls:'task'
}]
},{
task:'Dokument 1, nicht zugeordnet',
duration:'45 min',
user:'Jack Slocum',
uiProvider:'col',
leaf:true,
iconCls:'task'
}]
}]