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 " = ";
> >> $baseArray = key($myArr);
> >> echo key($myArr);
> >> echo "<BR>\n";
> >> walkArray(current($myArr));
> >> }
> >> else
> >> {
> >> $arrKey = key($myArr);
> >> if ($baseArray != "")
> >> {
> >> echo $baseArray;
> >> echo ":";
> >> }
> >> echo $arrKey;
> >> echo " = ";
> >> 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