• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 292
  • Last Modified:

2 dimensional arrays

hey,

i filled a 2 - dimensional array within a loop. now i'm trying to get back my values with an index. but i just have the last value i wrote to the array. looks like every time i write something new to the array the rest is deleted ?!?

0
Zaim
Asked:
Zaim
  • 4
  • 2
  • 2
1 Solution
 
Richard QuadlingSenior Software DeveloperCommented:
$iN = 8; // How many locations;
$aC[0][0] = 0;
$aA[0][0] = 0;
$aP[0][0] = 0;

for ($iI = 0; $iI < $iN; $iI++)
     {
     for ($iJ = 0; $iJ < $iN; $iJ++)
          {
          $aA[$iI][$iJ] = 0;
          $aC[$iI][$iJ] = 9999;
          $aP[$iI][$iJ] = 0;
          }
     }


This is a snippet of my multi-dim array for working out the shortest route between 2 points.

What does your code look like?
0
 
Richard QuadlingSenior Software DeveloperCommented:
I can then access them ...

for ($iK = 0; $iK < $iN; $iK++)
     {
     for ($iI = 0; $iI < $iN; $iI++)
          {
          for ($iJ = 0; $iJ < $iN; $iJ++)
               {
               if (($aA[$iI][$iK] + $aA[$iK][$iJ]) < $aA[$iI][$iJ])
                    {
                    $aA[$iI][$iJ] = $aA[$iI][$iK] + $aA[$iK][$iJ];
                    $aP[$iI][$iJ] = $iK;
                    }
               }
          }
     }
0
 
lokeshvCommented:
can u post ur code here ?


Thanks,
Lk
0
Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

 
ZaimAuthor Commented:
i'm getting my data from an oracle - database. i tried the upper solution to get data through a loop, but still the same prob: i can only get the last entry

here's my code:


     if ($flag)
     {
          //if (session_is_registered("datenarray")) session_unregister("datenarray");
          $flag=0;
          //settype($datenarray,"array");
         
          for($t=0;$t<$maxid;$t++)
          {
               
          ora_fetch($cursor);
     
          $id=ora_getcolumn($cursor,0);
               err_detect($cursor);    
          $date=ora_getcolumn($cursor,1);
               err_detect($cursor);
          $comment=ora_getcolumn($cursor,2);
               err_detect($cursor);
          $erledigt=ora_getcolumn($cursor,6);
               err_detect($cursor);
          $prio=ora_getcolumn($cursor,7);
               err_detect($cursor);
         
          $datenarray[t][0] = $id;
          $datenarray[t][1] = $date;
          $datenarray[t][2] = $erledigt;
          $datenarray[t][3] = $prio;
          $datenarray[t][4] = $comment;
         
         
          //echo $datenarray[t][0].$datenarray[t][1].$datenarray[t][2].$datenarray[t][3].$datenarray[t][4];
                                                  // ---> date i just put into the array is there
          echo "<br>";
          echo count($datenarray);          // ---> always "1"
          echo "<br>";
          //echo $id;                              //working well, id is descending, like i wanted in my query
          }
               
     }
     
     
     for($i;$i < $maxid;$i++)
          {          
         

       echo "<tr>";
     /*
       for($ij=0;$ij < 5;$ij++)
            {
          echo "<td align = 'center' valign = 'center'>".$datenarray[$i][$ij]."</td>";
          }
     */
       
      echo "<td align = 'center' valign = 'center'> <input type='submit' name = id style = 'WIDTH: 80' value=$id>".$datenarray[$i][0]."</td>";
      echo "<td align = 'center' valign = 'center'>".$datenarray[$i][1]."</td>";
      echo "<td align = 'center' valign = 'center'>".$datenarray[$i][2]."</td>";
       echo "<td align = 'center' valign = 'center'>".$datenarray[$i][3]."</td>";    
       echo "<td align = 'center' valign = 'center'>".$datenarray[$i][4]."</td>";      
     
       echo "</tr>";
     
     }
     
     echo "</table>";
     
     
?>
0
 
lokeshvCommented:
$datenarray[t][0] = $id;
$datenarray[t][1] = $date;
$datenarray[t][2] = $erledigt;
$datenarray[t][3] = $prio;
$datenarray[t][4] = $comment


i think this should be '$t' instead of just 't'

Hope this solves ur problem:o)

LK
0
 
ZaimAuthor Commented:
i'm getting my data from an oracle - database. i tried the upper solution to get data through a loop, but still the same prob: i can only get the last entry

here's my code:


     if ($flag)
     {
          //if (session_is_registered("datenarray")) session_unregister("datenarray");
          $flag=0;
          //settype($datenarray,"array");
         
          for($t=0;$t<$maxid;$t++)
          {
               
          ora_fetch($cursor);
     
          $id=ora_getcolumn($cursor,0);
               err_detect($cursor);    
          $date=ora_getcolumn($cursor,1);
               err_detect($cursor);
          $comment=ora_getcolumn($cursor,2);
               err_detect($cursor);
          $erledigt=ora_getcolumn($cursor,6);
               err_detect($cursor);
          $prio=ora_getcolumn($cursor,7);
               err_detect($cursor);
         
          $datenarray[t][0] = $id;
          $datenarray[t][1] = $date;
          $datenarray[t][2] = $erledigt;
          $datenarray[t][3] = $prio;
          $datenarray[t][4] = $comment;
         
         
          //echo $datenarray[t][0].$datenarray[t][1].$datenarray[t][2].$datenarray[t][3].$datenarray[t][4];
                                                  // ---> date i just put into the array is there
          echo "<br>";
          echo count($datenarray);          // ---> always "1"
          echo "<br>";
          //echo $id;                              //working well, id is descending, like i wanted in my query
          }
               
     }
     
     
     for($i;$i < $maxid;$i++)
          {          
         

       echo "<tr>";
     /*
       for($ij=0;$ij < 5;$ij++)
            {
          echo "<td align = 'center' valign = 'center'>".$datenarray[$i][$ij]."</td>";
          }
     */
       
      echo "<td align = 'center' valign = 'center'> <input type='submit' name = id style = 'WIDTH: 80' value=$id>".$datenarray[$i][0]."</td>";
      echo "<td align = 'center' valign = 'center'>".$datenarray[$i][1]."</td>";
      echo "<td align = 'center' valign = 'center'>".$datenarray[$i][2]."</td>";
       echo "<td align = 'center' valign = 'center'>".$datenarray[$i][3]."</td>";    
       echo "<td align = 'center' valign = 'center'>".$datenarray[$i][4]."</td>";      
     
       echo "</tr>";
     
     }
     
     echo "</table>";
     
     
?>
0
 
ZaimAuthor Commented:
i'm getting my data from an oracle - database. i tried the upper solution to get data through a loop, but still the same prob: i can only get the last entry

here's my code:


     if ($flag)
     {
          //if (session_is_registered("datenarray")) session_unregister("datenarray");
          $flag=0;
          //settype($datenarray,"array");
         
          for($t=0;$t<$maxid;$t++)
          {
               
          ora_fetch($cursor);
     
          $id=ora_getcolumn($cursor,0);
               err_detect($cursor);    
          $date=ora_getcolumn($cursor,1);
               err_detect($cursor);
          $comment=ora_getcolumn($cursor,2);
               err_detect($cursor);
          $erledigt=ora_getcolumn($cursor,6);
               err_detect($cursor);
          $prio=ora_getcolumn($cursor,7);
               err_detect($cursor);
         
          $datenarray[t][0] = $id;
          $datenarray[t][1] = $date;
          $datenarray[t][2] = $erledigt;
          $datenarray[t][3] = $prio;
          $datenarray[t][4] = $comment;
         
         
          //echo $datenarray[t][0].$datenarray[t][1].$datenarray[t][2].$datenarray[t][3].$datenarray[t][4];
                                                  // ---> date i just put into the array is there
          echo "<br>";
          echo count($datenarray);          // ---> always "1"
          echo "<br>";
          //echo $id;                              //working well, id is descending, like i wanted in my query
          }
               
     }
     
     
     for($i;$i < $maxid;$i++)
          {          
         

       echo "<tr>";
     /*
       for($ij=0;$ij < 5;$ij++)
            {
          echo "<td align = 'center' valign = 'center'>".$datenarray[$i][$ij]."</td>";
          }
     */
       
      echo "<td align = 'center' valign = 'center'> <input type='submit' name = id style = 'WIDTH: 80' value=$id>".$datenarray[$i][0]."</td>";
      echo "<td align = 'center' valign = 'center'>".$datenarray[$i][1]."</td>";
      echo "<td align = 'center' valign = 'center'>".$datenarray[$i][2]."</td>";
       echo "<td align = 'center' valign = 'center'>".$datenarray[$i][3]."</td>";    
       echo "<td align = 'center' valign = 'center'>".$datenarray[$i][4]."</td>";      
     
       echo "</tr>";
     
     }
     
     echo "</table>";
     
     
?>
0
 
ZaimAuthor Commented:
thanks for help.

that's the kind of mistakes nobody thinks to make but everyone does. there it needs 2 other eyes to look at ;)

----> it's workin'
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: Ruby Fundamentals

This course will introduce you to Ruby, as well as teach you about classes, methods, variables, data structures, loops, enumerable methods, and finishing touches.

  • 4
  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now