Re: Removeing duplicates inside for/foreach loop.
| From: | Jim Lucas | Date: | Tue, 15 Jul 2008 17:40:06 +0000 |
| Subject: | Re: Removeing duplicates inside for/foreach loop. | ||
| References: | 1 2 3 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-276869@lists.php.net to get a copy of this message | ||
Niccolo Machiavelli wrote:
I'm firly certain array unique won't can't handle dimensional arrays. This is what I have for code it almost works $order_data = array(); while ($row = $db->fetchRow($result)) { $order_data[] = '<a href="'.setup_uri('orders').'?id=' . $row['order_number'] . '">' . $row['order_payment_first_name'] . ' ' . $row['order_payment_last_name'] . '</a>'; } $db->freeresult($result);since you are getting your information from a db, use SELECT DISTINCT order_number, .... This will ensure that only unique order_numbers are returned
sort($order_data); if ($count = count($order_data)) { for ($i = 2; $i < $count; $i++) { if ($order_data[$i]['order_number'] == $order_data[$i-1]['order_number']) {-- 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 Shakespeareunset($order_data[$i-1]);} if (count($order_data) > 0) { $order_list = implode(', ', $order_data); } else { $order_list = ''; } } } -----Original Message----- From: tedd [mailto:tedd.sperling@gmail.com] Sent: Tuesday, July 15, 2008 12:12 PM To: php-general@lists.php.net Subject: Re: [PHP] Removeing duplicates inside for/foreach loop. At 11:50 AM -0500 7/15/08, Niccolo Machiavelli wrote:$array = array(-snip-My question is I want to remove duplicate order numbers in other wordsditch*one* of the Mike Smith rows there's a duplicate order number there. And I need to do it in either a for/foreach loop. Somehow there's got to be a simple way to check and only output non duplicate order numbers while I'm looping thru the data. Any help would be greatly appreciated.Niccolo: Check out: array_unique http://www.php.net/array_unique Cheers, tedd