dynamisches assoziates array erstellen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • 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
    Zuletzt geändert von Kropff; 01.12.2006, 20: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

    Kommentar


    • #3
      nö, nichts gefunden.

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

      Kommentar


      • #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.

        Kommentar


        • #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

          Kommentar


          • #6
            na so:

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

            und so weiter.

            Kommentar


            • #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

              Kommentar


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

                Kommentar


                • #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

                  Kommentar


                  • #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.

                    Kommentar


                    • #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...

                      Kommentar


                      • #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

                        Kommentar

                        Lädt...
                        X