Assoziatives Array in Schleife füllen

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

  • Assoziatives Array in Schleife füllen

    Hallo Internetbevölkerung,

    ich stoße auf folgendes Problem:

    Die Inhalte einer Ordnerstruktur mit Bildern lasse ich mir in ein Array
    einlesen:
    Code:
    [Ordner] => Array         (     
          [0] => file1.jpg        
          [1] => file2.jpg            
          [2] => file3.jpg         
    
    )
    [FONT=Verdana]

    Alle Bilder sollen ebenfalls in der DB stehen.
    [/FONT]
    id | name |dir

    927| File1.jpg |Ordner

    [FONT=Verdana]Um festzustellen ob alle Bilder in der DB vorhanden sind, möchte ich gerne die Struktur der beiden Arrays angleichen um sie anschließend mit ArrayDiff vergleichen zu können.
    Bei der Befüllung des Arrays mit den DB inhalten habe ich allerdings eine Denkblockade
    und ich hoffe Sie mit eurer Hilfe eventuell lösen zu können.

    Habe für den Zweck eine kleine Funktion geschrieben, die allerdings nicht die Bilder dem jeweiligen Ordner key korrekt zuordnet!?

    [/FONT]
    PHP-Code:
    function dbToArray($dir) {
        
    $result = array ();

        
    $dbqpic2 "SELECT DISTINCT dir FROM db" );
        while (
    $otu mysqli_fetch_array($dbqpic2))
        {
            
    $dirse[] = $otu['dir'];
        }
        
    $cdir $dirse;
        foreach ( 
    $cdir as $key => $value ) {

                if (
    is_dir $dir DIRECTORY_SEPARATOR $value )) {
                    
    $result [$value] = self::dbToArray $dir DIRECTORY_SEPARATOR $value );
                }else{

                    
    $dbqpie = ( "SELECT name FROM db WHERE dir = '$value'" );
                    while(
    $soscha mysqli_fetch_array($dbqpie))
                    {
                        
    $result [] = $soscha['name'];
                    }
                }
        }

        return 
    $result;

    [FONT=Verdana]Wäre eventuell jemand so freundlich und könnte mir auf die Sprünge helfen?

    Beste Grüße,

    euer Crowdy[/FONT]

  • #2
    Abgehakt und erledigt

    PHP-Code:

    function dbToArray($dir) {
        
    $result = array ();

        
    $dbqpic2 "SELECT DISTINCT dir FROM db" );
        while (
    $otu mysqli_fetch_array($dbqpic2))
        {
            
    $dirse[] = $otu['dir'];
        }
        
    $cdir $dirse;
        foreach ( 
    $cdir as $key => $value ) {

                if (
    is_dir $dir DIRECTORY_SEPARATOR $value )) {

                    
    $dbqpie = ( "SELECT name FROM db WHERE dir = '$value'" );
                    while(
    $soscha mysqli_fetch_array($dbqpie))
                    {
                        
    $result[$value][] = $soscha['name'];
                    }
                
                }
        }

        return 
    $result;

    Kommentar

    Lädt...
    X