Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [Class]Stampare recursivamente i valori

    salve,
    ho un oggetto del tipo

    Codice PHP:
    $Class->name=pippo
    $Class
    ->Obj["subclass"][0]->propriety 1
    $Class
    ->Obj["subclass"][1]->propriety 2
    $Class
    ->Obj["subclass"][2]->propriety 3
    $Class
    ->Obj["subclass"][0]->Other[0]->otherprp a
    $Class
    ->Obj["subclass"][0]->Other[1]->otherprp 
    vorrei stampare ogni proprietà e i suoi valori in modo recursivo nel formato:

    Proprietà=>valore

    ho provato a fare

    Codice PHP:
    function PrintObj($Obj)
        {
        foreach(
    $Obj as $k=>$v)
            {
            if(!
    is_array($v))
                {
    //Stampo perchè non è una matrice, ma una proprietà
                
    echo $k."=>".$v."
    "
    ;
                }
                else
                {
                
    $Obj2=$Obj[$k];    
                
    PrintObj($Obj2);
                }
            }
        }
    PrintObj($Class); 

    ma non mi da nulla...

    il risultato dovrebbe essere una stampa del genere...

    propriety => 1;propriety => 2;propriety => 3;otherprp = b;otherprp = b

  2. #2
    scusate..correggo la composizione della classe che era sbagliata...

    Codice PHP:
    $Class->name=pippo
    $Class
    ->Obj["subclass"][0]->propriety 1
    $Class
    ->Obj["subclass"][1]->propriety 2
    $Class
    ->Obj["subclass"][2]->propriety 3
    $Class
    ->Obj["subotherclass"][0]->Other[0]->otherprp a
    $Class
    ->Obj["subotherclass"][0]->Other[1]->otherprp 

    ...sto cercando di riprodurre quello che fà la funzione print_r, solo che ho bisogno di gestire il prodotto per singola proprietà...mi potete aiutare?


  3. #3
    nemmeno un'indizio?

  4. #4
    risolto da solo..con l'aiuto di ricerche in internet e documentazione delle funzioni magine..


    Codice PHP:
    function PrintObj($Obj,$DivisorKeyValue="::",$Terminal="<>")
        {
        
    $Recursive=__FUNCTION__;
         if(empty(
    $Obj))
             {return 
    "";}
            else
            {
            foreach(
    $Obj as $k=>$v)
                {
    $Ret .= $Recursive($v).$k.$DivisorKeyValue.$v.$Terminal;}
            }
        return 
    $Ret;
        }
    echo @
    PrintObj($Class); 


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.