PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   PHP Developer Forum (https://www.php-resource.de/forum/php-developer-forum/)
-   -   rekursives Problem (https://www.php-resource.de/forum/php-developer-forum/85934-rekursives-problem.html)

Poscht 02-08-2007 16:12

rekursives Problem
 
Hallo,

ich bekomme folgendes Array aus einer DB geliefert:
(Nur ein Auszug, das Array ist multidimensional)
PHP-Code:

Array
(
    [
childs] => Array
        (
            [
1588] => Array
                (
                    [
id] => 1588
                    
[name] => val1
                    
[parent] => 0
                    
[childs] => Array
                        (
                            [
2107] => Array
                                (
                                    [
id] => 2107
                                    
[name] => va1.1
                                    
[parent] => 1588
                                
)

                            [
2551] => Array
                                (
                                    [
id] => 2551
                                    
[name] => val1.2
                                    
[parent] => 1588
                                
)

                            [
2744] => Array
                                (
                                    [
id] => 2744
                                    
[name] => val1.3
                                    
[parent] => 1588
                                
)
            [
622] => Array
                (
                    [
id] => 622
                    
[name] => val3
                    
[parent] => 0
                
)

            [
647] => Array
                (
                    [
id] => 647
                    
[name] => val4
                    
[parent] => 0
                    
[childs] => Array
                        (
... 

Dieses versuche ich mit der folgenden Funktion eingerückt auszugeben.
Nur leider wird mir der komplette Block mit val1, val4, etc. zweimal ausgegeben.
PHP-Code:

function buildHTMLString($arrTree,$intSpace)
{
    while (list(
$key$value) = each ($arrTree)) 
    {
        if(
is_array($value))
        {
            
$intSpace=$intSpace+2;
            
buildHTMLString($value,$intSpace);
        }
        else
        {
            if(
$key=="name")
            {
                for(
$i=0;$i<$intSpace;$i++)
                {
                    echo 
"&nbsp;";
                }
                echo 
$value."<br>";
            }
        }
    }


Kann mir jemand auf die Sprünge helfen, warum das jew. Unter-Array, sobald es Childs hat, zwei mal ausgegeben wird bzw. wie ich es verhindern kann?

Poscht

Poscht 02-08-2007 16:58

Danke an alle, die es gelesen haben, das Problem hat sich erledigt. :)
Der Block muss natürlich so aussehen.

PHP-Code:

intSpace=$intSpace+2;
$tmpArr=$value;
$arrTree[$key]="";
buildHTMLString($tmpArr);
$intSpace=$intSpace-2



Alle Zeitangaben in WEZ +2. Es ist jetzt 04:51 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG