mysqldumper
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 04.05.2008, 03:00   #1
TP-Senior
 
Benutzerbild von Schneemann
 
Registriert seit: Jan 2006
Schneemann macht alles soweit korrekt

Rekursive Funktion gibt Array nicht zurück


Hallo,

ich habe einen verschachtelten Array mit dem Name $structure. Manchmal hat ein Eintrag Kinder, manchmal nicht.

Mein Array $structure sieht so aus:
PHP-Code:
Array
(
  [
52] => Array
    (
      [
id] => 52
      
[name] => Tier
      
[level] => 0
      
[children] => Array
        (
          [
22] => Array
            (
              [
id] => 22
              
[name] => Katze
              
[level] => 1
              
[children] => Array
                (
                )
            )
          [
26] => Array
            (
              [
id] => 26
              
[name] => Maus
              
[level] => 1
              
[children] => Array
                (
                )
            )
        )
    )

Ich hatte gehofft mit dieser Funktion die leeren "children" entfernen zu können aber es klappt nicht.

PHP-Code:
function rekursiv$array )
{

  foreach( 
$array as $key => $value )
  {
    if( 
is_array($value) )
    {
      if( !empty( 
$value['children'] ) )
      {
        
rekursiv$value['children'] );
      }
      else
      {
        unset(
$value['children']);
        
$temp[] = $value;
      }
    }
  }

  return 
$temp;
}

$ausgabe rekursiv$structure );

echo 
'<pre>'print_r($ausgabe); echo '</pre><hr/>'
Weiß jemand wo der Fehler ist?
__________________
Gruß,
Peter
Schneemann ist offline   Mit Zitat antworten


Alt 04.05.2008, 19:16   #2
TP-Urgestein
 
Benutzerbild von webcreate
 
Registriert seit: Nov 2003
Ort: NRW
webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts
Wenn Deine level1 Childs nun auch noch Elemente haben, dann musst mal weiter schauen, dazu müssten dann noch mehr Ausnahmen rein ...
PHP-Code:
<?php
$structure 
= Array(
    
52 => Array(
        
'id' => 52,
        
'name' => 'Tier',
        
'level' => 0,
        
'children' => Array(
            
22 => Array(
                
'id' => 22,
                
'name' => 'Katze',
                
'level' => 1,
                
'children' => Array(
                )
            ),
            
26 => Array(
                
'id' => 26,
                
'name' => 'Maus',
                
'level' => 1,
                
'children' => Array(

                )
            )
        )
    )
);


function 
rekursiv$array )
{
    foreach( 
$array as $key => $value )
    {
        if( 
is_array($value) )
        {
            foreach( 
$value as $subkey => $subvalue )
            {
                if(
$subkey != 'children' && $value['level'] == )
                {
                    
$temp[$subkey] = $subvalue;
                }
                else if(!empty( 
$value['children'] ))
    
                {
                    
$temp['children'] = rekursiv$value['children'] );
                }
                else
                {
                    unset(
$value['children']);
                    
$temp[$key] = $value;
                }
            }
        }
        else 
$temp[$key] = $value;
    }
    return 
$temp;
}

$ausgabe rekursiv$structure );
echo 
'<pre>'print_r($ausgabe); echo '</pre><hr/>';
__________________
Gruß Mark
Mein Blog zum TP || XING Profil || grafiker.de Profil || How to use GOOGLE || PS Kniffe
emCalculator 1.0



webcreate IT SOLUTIONS
www.webcreate-nrw.de
webcreate ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
Rekursive Funktion gibt Array nicht zurück Rekursive Funktion gibt Array nicht zurück
« ODER-Abfrage mit Daten aus Zeichenkette | Addition dynamisch in PHP »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:15 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67