Re: Displaying full array contents

From: Date: Thu, 26 Sep 2002 19:46:44 +0000
Subject: Re: Displaying full array contents
References: 1 2  Groups: php.general 
Request: Send a blank email to php-general+get-117767@lists.php.net to get a copy of this message
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" <bradharriger@clarionhospital.org> To: <php-general@lists.php.net> 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


« previous php.general (#117767) next »