Re: Fast code to partially flatten an array based on several keys?

From: Date: Fri, 28 Jun 2002 01:16:48 +0000
Subject: Re: Fast code to partially flatten an array based on several keys?
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-104245@lists.php.net to get a copy of this message
Martin, I'm happy to do it either way, but I can't think of a really fast way to do it, which is why I thought I'd ask. =) Morgan Grubb. "Martin Towell" <martin.towell@world.net> wrote in message news:6416776FCC55D511BC4E0090274EFEF508A54E@EXCHANGE... > this sort of merging would be easier to do when you create the array > (unless you need the other format for something else?) > > -----Original Message----- > From: Morgan Grubb [mailto:morgan@autobuy.co.nz] > Sent: Friday, June 28, 2002 11:09 AM > To: php-general@lists.php.net > Subject: [PHP] Fast code to partially flatten an array based on several > keys? > > > I have a large dataset which can contain many different fields, and I'm > trying to flatten them in such a way that I can display it happily in a > table. > > To simplify: I'm populating the array such (many many more fields, but these > will do): > > $i = 0; > while ($row = mysql_fetch_assoc($result)) { > $vehicles[$i]['dealer_id'] = $row['dealer_id']; > $vehicles[$i]['vehicle_id'] = $row['vehicle_id']; > $vehicles[$i][$row['company_id']] = $row['page_views']; > $i++; > } > > Now, if that vehicle_id and dealer_id combination exist, instead of adding > it as another record completely, > just add > > $vehicles[$existing_id][$row['company_id']] = $row['page_views']; > > The end result of this would be (if given two 'company_id' records for the > given dealer): > > ( > [0] => Array > ( > [dealer_id] => 645 > [vehicle_id] => 35073 > [1] => 10 > ) > > [1] => Array > ( > [dealer_id] => 645 > [vehicle_id] => 35073 > [0] => 6 > ) > ) > > Turns into: > > ( > [0] => Array > ( > [dealer_id] => 645 > [vehicle_id] => 35073 > [1] => 10 > [0] => 6 > ) > ) > > Can anyone think of a fast way to do this either during creation of the > array or after the array has been created? (A sort of fast_flatten($array) > function) ? > > If anyone can think of something, I'd be really appreciative. > > > > Cheers, > Morgan Grubb. > > > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php

« previous php.general (#104245) next »