On 05/11/2010 04:09 PM, Shawn McKenzie wrote: > On 05/11/2010 02:17 PM, Paul Halliday wrote: >> On Tue, May 11, 2010 at 4:03 PM, Jim Lucas <lists@xxxxxxxxx> wrote: >>> Paul Halliday wrote: >>>> On Tue, May 11, 2010 at 2:25 PM, Jim Lucas <lists@xxxxxxxxx> wrote: >>>>> Paul Halliday wrote: >>>>>> I have this: >>>>>> >>>>>> while ($row = mysql_fetch_array($theData[0])) { >>>>>> >>>>>> $col1[] = $row[0]; >>>>>> $col2[] = lookup($row[1]); // this goes off and gets the country name. >>>>>> >>>>>> I then loop through col1 and col2 to produce something like this: >>>>>> >>>>>> 52 ARMENIA >>>>>> 215 CANADA >>>>>> 57 CANADA >>>>>> 261 COLOMBIA >>>>>> 53 EGYPT >>>>>> 62 INDIA >>>>>> 50 INDIA >>>>>> >>>>>> Is there a way I can group these? >>>>>> >>>>>> Thanks! >> >> >>>>>> >>>>> Group them?? >>>>> >>>>> How about this >>>>> >>>>> while ($row = mysql_fetch_array($theData[0])) { >>>>> >>>>> $col1[lookup($row[1])][] = $row[0]; >>>>> >>>>> which, using the data you showed, will give you this >>>>> >>>>> >>>>> Array >>>>> ( >>>>> [ARMENIA] => Array >>>>> ( >>>>> [0] => 52 >>>>> ) >>>>> >>>>> [CANADA] => Array >>>>> ( >>>>> [0] => 215 >>>>> [1] => 57 >>>>> ) >>>>> >>>>> [COLOMBIA] => Array >>>>> ( >>>>> [0] => 261 >>>>> ) >>>>> >>>>> [EGYPT] => Array >>>>> ( >>>>> [0] => 53 >>>>> ) >>>>> >>>>> [INDIA] => Array >>>>> ( >>>>> [0] => 62 >>>>> [1] => 50 >>>>> ) >>>>> >>>>> ) >>>>> >>>>> -- >>>>> Jim Lucas >>>>> >>>>> "Some men are born to greatness, some achieve greatness, >>>>> and some have greatness thrust upon them." >>>>> >>>>> Twelfth Night, Act II, Scene V >>>>> by William Shakespeare >>>>> >>>> >>>> I was actually hoping to have them arranged like: >>>> >>>> $col1[0] = INDIA >>>> $col2[0] = 112 >>>> $col1[1] = CANADA >>>> $col2[1] = 272 >>>> ... >>>> >>>> Thanks. >>>> > > I would probably do this: > > $col1 = $col2 = array(); > > while ($row = mysql_fetch_array($theData[0])) { > $country = lookup($row[1]); > > if(($found = array_search($country, $col1)) !== false) { > $col2[$found] += $row[0]; > } else { > $col1[] = $country; > $col2[] = $row[0]; > } > } > Although I myself would prefer it to be in this format: $result = array(); foreach($rows as $row) { $country = lookup($row[1]); if(isset($result[$country])) { $result[$country] += $row[0]; } else { $result[$country] = $row[0]; } } Which would give: array ( INDIA => 112 CANADA => 272 //etc... ) Then to use, just: foreach($result as $country => $value) { echo $country . ' ' . $value; // or whatever } -- Thanks! -Shawn http://www.spidean.com -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php