Use a static variable in the function? A static var retains its value
between function calls

function printArray($arr) {
    static $depth = 0;
    for ($i =0; $i < count($arr); $i++) {
      if (!is_array($arr[$i])) {
        echo "$depth $arr[$i]";
      }
      else {
        $depth++;
        printArray($arr[$i]);
        $depth--;
      }
    }
  }

  $arr = array("Orange", "Peach", "Apple");
  $arr2 = array("Banana", $arr, "Pear");
  $arr3 = array($arr, $arr2);

  printArray($arr3);

Debbie

----- Original Message -----
From: "Brad Harriger" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, September 26, 2002 8:46 PM
Subject: Re: [PHP] Displaying full array contents


> Debbie,
>
> Yes.  I could use recursion, but what's really hanging me up is keeping
> track of how deep into an array I am.  It should be fairly simple, but I
> seem to be having a brain freeze.
>
> Brad
>
>
>
> Debbie_dyer wrote:
>
> > You could use recursion example:-
> >
> >   function printArray($arr) {
> >     for ($i =0; $i < count($arr); $i++) {
> >       if (!is_array($arr[$i])) {
> >         echo $arr[$i];
> >       }
> >       else {
> >         printArray($arr[$i]);
> >       }
> >     }
> >   }
> >
> > $arr = array("Orange", "Peach", "Apple");
> > $arr2 = array("Banana", $arr, "Pear");
> > $arr3 = array($arr, $arr2);
> >
> > printArray($arr3);
> >
> > Debbie
> >
> > ----- Original Message -----
> > From: "Brad Harriger" <[EMAIL PROTECTED]>
> > To: <[EMAIL PROTECTED]>
> > Sent: Thursday, September 26, 2002 6:50 PM
> > Subject: [PHP] Displaying full array contents
> >
> >
> >
> >>I'm trying to write a function that will display the full contents of an
> >>array.  If one of the keys contains a value that is an array, the full
> >>array (all indices) should be shown.
> >>
> >>As an example, given the following definitions:
> >>
> >>$Arr1[1] = "Apple";
> >>$Arr1[2] = "Banana";
> >>$Arr1[3] = $Arr2[];
> >>$Arr2[1] = "Carrot";
> >>$Arr2[2] = $Arr3[];
> >>$Arr3[1] = "Orange";
> >>$Arr3[2] = "Peach";
> >>
> >>
> >>the output should be:
> >>
> >>Arr1:1:Apple
> >>Arr1:2:Banana
> >>Arr1:3:Arr2[]
> >>Arr1:3:Arr2:1:Carrot
> >>Arr1:3:Arr2:2:Arr3[]
> >>Arr1:3:Arr2:2:Arr3:1:Orange
> >>Arr1:3:Arr2:2:Arr3:2:Peach
> >>
> >>The closest I've come is:
> >>
> >>  while (current($myArr))
> >>   {
> >>     if(is_array(current($myArr)))
> >>     {
> >>       $arrKey = key(current($myArr));
> >>       echo "Array ";
> >>       echo "&nbsp=&nbsp";
> >>       $baseArray = key($myArr);
> >>       echo key($myArr);
> >>       echo "<BR>\n";
> >>       walkArray(current($myArr));
> >>     }
> >>     else
> >>     {
> >>       $arrKey = key($myArr);
> >>       if ($baseArray != "")
> >>       {
> >>         echo $baseArray;
> >>         echo ":";
> >>       }
> >>       echo $arrKey;
> >>       echo "&nbsp=&nbsp";
> >>       echo current($myArr);
> >>       echo "<BR>\n";
> >>     }
> >>     next($myArr);
> >>   }
> >>
> >>This code only echoes one dimension of a multi-dimension array.  I can't
> >>find a way to reliably store more than that.  Any suggestions?
> >>
> >>Thanks in advance,
> >>
> >>Brad
> >>
> >>
> >>--
> >>PHP General Mailing List (http://www.php.net/)
> >>To unsubscribe, visit: http://www.php.net/unsub.php
> >>
> >>
> >
>
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to