Paul Halliday wrote:
> On Tue, May 11, 2010 at 2:25 PM, Jim Lucas <li...@cmsws.com> 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

Reply via email to