foreach loop corrupting my array?

Posted by WmasterJ on Stack Overflow See other posts from Stack Overflow or by WmasterJ
Published on 2010-03-23T23:20:02Z Indexed on 2010/03/23 23:23 UTC
Read the original article Hit count: 420

Explanation

I have a multidimensional array that is iterated over to created a categorized view of people with different research interests. The main array look something like this:

Array
(
    ...
    ['Cell Biology']      => Array(4 elements)
    ['Molecular']         => Array(6 elements)
    ['Biology Education'] => Array(14 elements)
    ['Plant Biology']     => Array(19 elements)  <--- Last element in array
)

I know that the entire array is intact and correctly structured. The only information that is inside these array is an user id, like so:

Array ('Plant Biology') 19 elements
(
    [0] => 737
    [1] => 742
    [2] => 748
    ...
)

My problem is that after i run the main array through a foreach loop the last 'sub-array' gets messed up. By messed up I mean that what you see about instead look like:

String (13 characters) 'Plant Biology'

This is without doing at all anything inside the loop with to the array that gets corrupted.

Any tips to what it might be?

PHP Code

  // ---> Array is OK here
  echo "<h2>Research divided</h2>";
  // Loop areas and list them in 2 columns
  foreach($research['areas'] as $area => $areaArray) {
      // ---> Here it is already corrupted
      $count = count($areaArray);
      if($count > 0) {
          echo "<h3>$area</h3><hr/>";
          echo "<table class='area_list'><tr>";
          // Loop users within areas, divided up in 2 columns
          for($i=0 ; $i<$count ; $i++) {
              $uid = $areaArray[$i];
              echo "<li>$uid</li>";
          }
          echo "</tr></table>";
      }
  }

© Stack Overflow or respective owner

Related posts about php

Related posts about php5