Referenzen Problem

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Referenzen Problem

    Irgendwie blick ich durch die Referenzen immer noch nicht richitg durch. Ich möchte eine rekursive Funktion schreiben, die alle Einträge bearbeitet.

    PHP Code:
    $arr = array('Zeile11'=>array(
                                    
    'Zeile21'=>'Wert1',
                                    
    'Zeile22'=>'Wert2',
                                    
    'Zeile23'=>'Wert3'),
                       
    'Zeile12'=>array(       
                                    
    'Zeile21'=>'Wert1',
                                    
    'Zeile22'=>'Wert2',
                                    
    'Zeile23'=>'Wert3')
             )

    function 
    rekursion($arr){
       
          foreach(
    $arr as $key=>$value) {

              if(
    is_array($value)){

                    
    rekusion($value)

             }else{

                    
    $value $value ' changed';

             }
          }
    }

    rekusion($arr); 
    OK, wo muss das & hin und warum? Übrigens weiß ich, dass es in PHP 5 die Funktion array_walk_recursiv() dafür gibt. Ich muss PHP4 nutzen und mir geht es um das Verständnis.
    Last edited by MasterG; 07-07-2006, 17:00.

  • #2
    Warum Referenz? Nutze return und geb das Ergebnis nach oben durch.

    Ansonsten ist deine PHP Version in bezug auf Referenzen noch wichtig, weil sich zwischen PHP5 und 4 ein wenig was geändert hat.

    Comment


    • #3
      Variablen druchreichen will ich nicht, aus Performance Gründen. Wenn ich auf PHP5 umsteige würde ich das dann auch mit array_walk_recursiv() machen.

      Comment


      • #4
        Re: Referenzen Problem

        Original geschrieben von MasterG
        OK, wo muss das & hin und warum?
        Ist das & in der Funktionsdefinition, so wird der Parameter in allen Aufrufen (*always) als Referenz übergeben. Ist das & im Funktionsaufruf, so ist der Parameter in diesem Aufruf als Referenz.

        *Steht so im Manual (always)

        Comment


        • #5
          Ok das hab ich jetzt in den Kopf bekommen. Aber das hilt mir nicht wirklich bei meiner speziellen Funktion. Wie verändere ich in der Funktion den aktuelle Wert des Arrays?

          Comment


          • #6
            -
            Last edited by tcpip; 07-07-2006, 20:57.

            Comment


            • #7
              -
              Last edited by tcpip; 07-07-2006, 20:57.

              Comment


              • #8
                -
                Last edited by tcpip; 07-07-2006, 20:57.

                Comment


                • #9
                  sorry war alles unrichtig, ich habe mich vertan...die Hitze..
                  Last edited by tcpip; 07-07-2006, 19:59.

                  Comment


                  • #10
                    Vorweg vielen Dank für die Mühe. So richtig hat es bei mir aber immer noch nicht klick gemacht.
                    Last edited by MasterG; 08-07-2006, 22:59.

                    Comment


                    • #11
                      Naja wieso hast Du Deine Post gelöscht?
                      Last edited by MasterG; 08-07-2006, 22:58.

                      Comment


                      • #12
                        Die Posts waren falsch.
                        Last edited by tcpip; 07-07-2006, 20:58.

                        Comment


                        • #13
                          ?
                          Last edited by MasterG; 08-07-2006, 22:57.

                          Comment

                          Working...
                          X