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