Hi from a recent PHP convert,

Having a heck of a time declaring and accessing 2 dimensional info in an array.
any input on where to start looking for the answer would be greatly appreciated.

I want to have a base array of 5 elements. The first 4 elements are variables, and the 
fifth is an array of 2 elements.
seemed harmless enough at the time;)

Coding conventions suggest access to the first level of elements is:
$basearray[base_numerical_offset][$basearray_variable]
and this works great for accessing the first 4 elements of the base array.

Accessing the fifth elements' variables in the next dimension is where it fails for me:
$basearray[base_numerical_offset][$subarray][sub_numerical_offset][$subarray_variable]

The documentation/snippets/samples, etc. have been to no avail; still can't get to 
elements in the
second dimension properly. Attempts to populate the second level array trahses the 
entire structure.

I have the following declaration:
$out => array($name, $srch, $sel, $case, $qvalues => array($vals, $valtypes);
    $out is the name of the base array
    $qvalues is the name of the sub-array under the base array "$out"
I need for each $out array to consist of a name, srch, sel, case and then a variable 
number of qvalues array elements that each have single vals and valtypes elements.

Use the following snippet to see what happens; it's not what I had hoped to see.
I hope I'm just doing something wrong..

Thanks, Ken.
mailto:[EMAIL PROTECTED]

<?

 $out = array($name, $srch, $sel, $case, $qvalues => array($vals, $valtypes));
echo "<pre>";
 $out[0][$name] = "free";
 $out[1][$name] = "next";
 for ($i=0; $i<2; $i++)
    {
       echo "<br>   OutIndex: ", $i, "     Name: ", $out[$i][$name];
    }

   $out[0][$srch] = "outfreesrch";
   $out[0][$sel] = "outfreesel";
   $out[0][$case] = "outfreecase";
   $out[0][$qvalues][0][$vals] = "outfreeqval0";
   $out[0][$qvalues][0][$valtypes] = "outfreeqtype0";
   $out[0][$qvalues][1][$vals] = "outfreeqval1";
   $out[0][$qvalues][1][$valtypes] = "outfreeqtype1";
   echo "<br>Basearray index : ", 0, "\n";
   echo "<br>               name : ", $out[0][$name], "\n";
   echo "<br>               srch : ", $out[0][$srch], "\n";
   echo "<br>               sel  : ", $out[0][$sel], "\n";
   echo "<br>               case : ", $out[0][$case], "\n";
   echo "<br>   Subarray index      : 0 \n";
   echo "<br>              vals     : ", $out[0][$qvalues][0][$vals], "\n";
   echo "<br>              valtypes : ", $out[0][$qvalues][0][$valtypes], "\n";
   echo "<br>   Subarray index      : 1 \n";
   echo "<br>              vals     : ", $out[0][$qvalues][1][$vals], "\n";
   echo "<br>              valtypes : ", $out[0][$qvalues][2][$valtypes], "\n";
   echo"<br><br>";
   $out[1][$srch] = "outnextsrch";
   $out[1][$sel] = "outnextsel";
   $out[1][$case] = "outnextcase";
   $out[1][$qvalues][0][$vals] = "outnextqval0";
   $out[1][$qvalues][0][$valtypes] = "outnextqtype0";
   $out[1][$qvalues][1][$vals] = "outnextqval1";
   $out[1][$qvalues][1][$valtypes] = "outnextqtype1";
   echo "<br>Basearray index : ", 1, "\n";
   echo "<br>               name : ", $out[1][$name], "\n";
   echo "<br>               srch : ", $out[1][$srch], "\n";
   echo "<br>               sel  : ", $out[1][$sel], "\n";
   echo "<br>               case : ", $out[1][$case], "\n";
   echo "<br>   Subarray index      : 0 \n";
   echo "<br>              vals     : ", $out[1][$qvalues][0][$vals], "\n";
   echo "<br>              valtypes : ", $out[1][$qvalues][0][$valtypes], "\n";
   echo "<br>   Subarray index      : 1 \n";
   echo "<br>              vals     : ", $out[1][$qvalues][1][$vals], "\n";
   echo "<br>              valtypes : ", $out[1][$qvalues][1][$valtypes], "\n";
echo "</pre>";
?>

Reply via email to