Ich brauche Hilfe mit meinem Array. Für mehrere Stunden versuche ich eine Lösung zu finden, aber ich komme damit nicht zurecht. Ich habe versucht, es so zu machen, aber der Code erwies sich als völlig nutzlos.PHP Menü Generator mit multidimensionalen Array
private function findKey($array, $keySearch,$app,$klucz='')
{
foreach ($array as $key => $item) {
if ($key == $keySearch) {
$c2 = [];
$cache = [
'nazwa'=>$app->nazwa,
'link'=>$app->link,
'child'=>[]
];
// echo $klucz; echo '<br />';
if($klucz && $klucz != '/'){
// echo $klucz;
// $k = explode('/',$klucz);
// $url = "/2/22/";
// debug($klucz);
$parts = explode('/',$klucz);
debug($klucz);
debug($parts);
$x = 0;
$last = $parts[count($parts)-1];
$arr = array();
while ($bottom = array_pop($parts)) {
if($bottom != $last){
$arr = array($bottom => $arr);
$x++;
}else{
array_push($arr, $cache);
}
}
// $arr['child'] = $cache;
debug($arr);
// exit;
// print_r($output);
// exit;
// self::buildKey($k);
// print_r($c2);
echo "<br />";
}
}
else {
$klucz = $klucz.'/'.$key;
if (is_array($item) && self::findKey($item, $keySearch,$app,$klucz)) {
// return true;
}
}
}
// return false;
}
Ich muss Array aus Schleife erstellen. Von mysql bekomme ich Daten als Objekt, und diese Datenansicht wie folgt:
| id | nazwa | link | eltern |
| 1 | abc | abcc | 0 |
| 2 | aaa | bbb | 1 |
| 3 | aas | bbc | 2 |
| 4 | asdasd | adsasd | 2 |
| 5 | asdasd | serae | 4 |
| 6 | rywer | twet | 0 |
Und jetzt brauche ich Array, deren Verwendung von Daten aus MySQL und zeigt es an Array wie folgt:
array(
[1]=>array(
id=>1,
nazwa=>abc
link=>abcc
child=>array(
[2]=>array(
id=>2,
nazwa=>aaa
link=>bbb
child=>array(
[3]=>array(
id=>3,
nazwa=>aas
link=>bbc
child=>array(
)
),
[4]=>array(
id=>4,
nazwa=>asdasd
link=>adsasd
child=>array(
[5]=>array(
id=>5,
nazwa=>asdasd
link=>serae
child=>array(
)
),
)
),
)
)
)
),
[6]=>array(
id=>6,
nazwa=>rywer
link=>twet
child=>array(
)
),
)
Ich denke, nur eine einfache, gute Schleife oder eine Funktion, aber ich kann nicht mit ihm umgehen.
Danke, es funktioniert, aber wissen Sie, wie aus diesem Array generieren
html code? :) – bradley546994...
Ja, ich habe meine Antwort mit einem Beispiel aktualisiert. Wie auch immer, Ihre Menüstruktur ist die hässlichste Art, geschachtelte Menüs zu erstellen. Bitte beachten Sie die Verwendung des Vororderbaums (allgemein bekannt als Links-Rechts-Baum). –
danke! Du bist der beste :) – bradley546994