dynamisches assoziates array erstellen

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • dynamisches assoziates array erstellen

    ich versuche gerade entsprechend der tiefe von verzeichnissen ein dynamisches mehrdimensionales assoziatives array aufzubauen. also in etwa so:
    ordner:
    - site
    - unterordner:
    - php
    - mysql
    - html
    - css
    - mit weiterem unterordner blubb
    das array sollte dann so ausehen:
    PHP Code:
    $array['site']['php'] = '';
    $array['site']['mysql'] = '';
    $array['site']['html'] = '';
    $array['site']['css']['blubb'] = ''
    dann käme z.b. folgendes:
    ordner:
    - pics
    unterordner:
    - php
    - mysql
    - html
    - css
    - mit weiterem unterordner blubb
    das array sollte dann so ausehen:
    PHP Code:
    $array['site']['php'] = '';
    $array['site']['mysql'] = '';
    $array['site']['html'] = '';
    $array['site']['css']['blubb'] = '';
    $array['pics']['php'] = '';
    $array['pics']['mysql'] = '';
    $array['pics']['html'] = '';
    $array['pics']['css']['blubb'] = ''
    das ganze muss komplett dynamisch sein, da ich rekursiv unbekannte verzeichnisse auslesen möchte. bin für jeden tipp dankbar.

    gruß
    peter
    Last edited by Kropff; 01-12-2006, 19:08.
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

  • #2
    war in den schnipseln nix dabei? von tbt?
    Kissolino.com

    Comment


    • #3
      nö, nichts gefunden.

      gruß
      peter
      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
      Meine Seite

      Comment


      • #4
        Kropf, so ganz ohne eigene ansätze?

        verzeichnis auslesen, und stück für stück tiefer gehen. da bei halt den pfad merken. so sollte es klappen.

        Comment


        • #5
          verzeichnis auslesen, und stück für stück tiefer gehen. da bei halt den pfad merken
          soweit bin ich schon. z.b. der pfad
          site
          site/css
          site/home
          site/html
          site/impressum
          site/javascript
          site/links
          site/mysql
          site/php
          pics
          pics/illustrationen
          pics/print

          ich habe nur keinen plan, wie ich das in ein mehrdimensionales array überführe. explode ist klar. aber wie zum teufel baue ich daraus dann das oben beschriebene array?

          gruß
          peter
          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
          Meine Seite

          Comment


          • #6
            na so:

            $array[$hiersteht"site"drin] = '';

            und so weiter.

            Comment


            • #7
              soweit bin ich auch schon. was ich nicht auf die reihe bekomme ist die erweiterung eines bereits bestehenden assoziativen arrays um ein weiteres untergeordnetes. also z..b.:
              PHP Code:
              $folder 'site';
              $array[$folder] = ''
              und das soll erweitert werden:
              PHP Code:
              $folder 'site/html';
              $depth explode ('/'$folder);
              foreach (
              $depth as $var)
              {
                  
              // hier setzt es aus
              }
              // ergebnis 
              wie hänge ich an das bestehende $array['site'] ein ['html'] an? also
              PHP Code:
              $array['site']['html'] = ''
              ähnlich wie bei zeichenkettenverknüfungen;
              [PHP][site] => Array
              (
              [html] = ''
              [css] => Array
              (
              [blubb] = ''
              )
              PHP Code:
               ''
                      

              gruß
              peter
              Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
              Meine Seite

              Comment


              • #8
                die suche sollte dir eigentlich hilfreiche threads liefern: http://www.php-resource.de/forum/sea...by=&sortorder=
                Kissolino.com

                Comment


                • #9
                  nee, ist nichts dabei, was ich brauche. ich hoffe aber, ich habe es bald.

                  gruß
                  peter
                  Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                  Meine Seite

                  Comment


                  • #10
                    was ist denn jetzt eigentlich das problem?
                    ich meine, rekursiver aufruf mit dem neuen unterverzeichnis ist klar. als zweiten parameter einfach eine referenz auf den aktuellen array-index mitgeben und gut ist.

                    Comment


                    • #11
                      Warum willst du denn überhaupt die Ordnernamen als Array-Keys nehmen?

                      Wäre
                      Code:
                      Array
                      (
                          [0] => Array
                              (
                                  [name] => files
                                  [full] => d:\internet\develop\webs\web4711\files
                                  [sub] => Array
                                      (
                                      )
                      
                              )
                      
                          [1] => Array
                              (
                                  [name] => logs
                                  [full] => d:\internet\develop\webs\web4711\logs
                                  [sub] => Array
                                      (
                                      )
                      
                              )
                      
                          [2] => Array
                              (
                                  [name] => public_html
                                  [full] => d:\internet\develop\webs\web4711\public_html
                                  [sub] => Array
                                      (
                                          [0] => Array
                                              (
                                                  [name] => css
                                                  [full] => d:\internet\develop\webs\web4711\public_html\css
                                                  [sub] => Array
                                                      (
                                                      )
                      
                                              )
                      
                                      )
                      
                              )
                      
                      )
                      Nicht einfacher für die spätere Verarbeitung?
                      Ich denke, also bin ich. - Einige sind trotzdem...

                      Comment


                      • #12
                        Nicht einfacher für die spätere Verarbeitung?
                        stimmt, aber! ich bastel gerade an einer art supermonster-verzeichnisklasse, die dann später wahlweise dasselbige als array, json- oder xml-datei zurückliefert.
                        das hier ist die erste vorbereitung für das, was später kommt.

                        gruß
                        peter
                        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                        Meine Seite

                        Comment

                        Working...
                        X