![]() |
|
|
|||||||
| PHP Här diskuteras allt som har med scriptspråket PHP att göra. |
![]() |
|
|
Trådverktyg | Visningsalternativ |
|
|
#1 |
|
Medlem
Registrerad: 2003-02-03
Ort: Sabang Beach, Puerto Galera, Philippines
Inlägg: 4 460
Lösningar: 73 |
Skapa mappar rekursivt från array
Tjena hej!
Jag har en array som ser ut såhär: Kod:
Array
(
[0] => Array
(
[Name] => Micke
[Children] => Array
(
[0] => Array
(
[Name] => Micke
[Children] => Array
(
[0] => Array
(
[Name] => Micke
[Children] => Array()
)
[1] => Array
(
[Name] => Micke
[Children] => Array
(
[Name] => Micke
[Children] => Array()
)
)
)
)
)
)
)
PHP-kod:
Kod:
Micke Micke/Micke Micke/Micke/Micke Micke/Micke/Micke Micke/Micke/Micke/Micke Kod:
Micke Micke/Micke/Micke/Micke/Micke Micke/Micke/Micke/Micke/Micke/Micke/Micke
|
|
|
|
|
|
#2 |
|
Medlem
Registrerad: 2003-02-03
Ort: Sabang Beach, Puerto Galera, Philippines
Inlägg: 4 460
Lösningar: 73 |
Kom på vad jag gjorde fel, nu fungerar allt:
PHP-kod:
|
|
|
|
|
|
#3 |
|
Forumvärd
Registrerad: 2003-08-26
Inlägg: 7 469
Lösningar: 645 |
Först det första körs $Path .= $User['Slug'] . "/"; två gånger, en gång utanför och en gång i if-satsen. Plocka bort körningen i if-satsen.
För det andra så plussas saker på i varje iteration, när det finns mer än en förgrening. Du vill nog egentligen göra något sådant här: PHP-kod:
Kod:
[1] => Array
(
[Name] => Micke
[Children] => Array
(
[Name] => Micke
[Children] => Array()
)
)
__________________
Gameboy Genius - Foto: Gatukonst och elektronikporr Internklippning: 1) Snaggning av fångar. 2) Klippning frisörer emellan. |
|
|
|
|
|
#4 |
|
Forumvärd
Registrerad: 2003-08-26
Inlägg: 7 469
Lösningar: 645 |
Jag rekommenderar min metod över str_replace-metoden. str_replace-metoden käns som en fullösning.
__________________
Gameboy Genius - Foto: Gatukonst och elektronikporr Internklippning: 1) Snaggning av fångar. 2) Klippning frisörer emellan. |
|
|
|
|
|
#5 |
|
Medlem
Registrerad: 2003-02-03
Ort: Sabang Beach, Puerto Galera, Philippines
Inlägg: 4 460
Lösningar: 73 |
Aha, strukturfelet i arrayen var mitt fel, ersätte alla värden med "Micke" i mitt exempel och då blev det fel. Jag är inte helt med på vad du menar med att skippa "str_replace". Det fungerar ju att sätta ROOTPATH sålänge man befinner sig på "nivå 1", men om man är på t.ex. nivå 4 och sen ska fortsätta till nivå 3 blir det väl fel?
|
|
|
|
|
|
Markerad som löst av MickeA.com #6 |
|
Forumvärd
Registrerad: 2003-08-26
Inlägg: 7 469
Lösningar: 645 |
Hmm? ROOTPATH är ju defaultvärdet och används när du inte skickar med en andra parameter. Den biten fungerar precis likadant som innan.
Notera att det enda jag har gjort med första raden är att byta namn på parametern från $Path till $LocalPath. Detta för att spara undan vilket värde som skickades till funktioen. Sedan en rad som i varje iteration av loopen skapar ett nytt värde för $Path. Vad du gör istället för att spara undan det medskickade värdet är att först plussa på undermappen i varje iteration och sedan plocka bort undermappen från den påplussade strängen. Fult. För att sätta mitt förslag i sitt sammanhang: PHP-kod:
__________________
Gameboy Genius - Foto: Gatukonst och elektronikporr Internklippning: 1) Snaggning av fångar. 2) Klippning frisörer emellan. |
|
|
|
![]() |
| Trådverktyg | |
| Visningsalternativ | |
|
|