Paul Halliday wrote:
> On Tue, May 11, 2010 at 2:25 PM, Jim Lucas <[email protected]> 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.
>
Well, then take what I gave you and do this:
$group[lookup($row[1])][] = $row[0];
foreach ( $group AS $x => $y )
{
$col1[] = $x;
$col2[] = array_sum($y);
}
In the end you will end up with this
<plaintext><?php
$data = array(
array(52, 'ARMENIA'),
array(215, 'CANADA'),
array(57, 'CANADA'),
array(261, 'COLOMBIA'),
array(53, 'EGYPT'),
array(62, 'INDIA'),
array(50, 'INDIA'),
);
foreach ( $data AS $row )
{
$group[$row[1]][] = $row[0];
}
print_r($group);
foreach ( $group AS $x => $y )
{
$col1[] = $x;
$col2[] = array_sum($y);
}
print_r($col1);
print_r($col2);
--
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
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php