Re: [PHP] Removeing duplicates inside for/foreach loop.
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[] = '' . $row['order_payment_first_name'] . ' ' . $row['order_payment_last_name'] . ''; } $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']) { unset($order_data[$i-1]); } if (count($order_data) > 0) { $order_list = implode(', ', $order_data); } else { $order_list = ''; } } } -Original Message- From: tedd [mailto:[EMAIL PROTECTED] 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 words ditch *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 -- 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
Re: [PHP] Removeing duplicates inside for/foreach loop.
On Tue, Jul 15, 2008 at 12:50 PM, Niccolo Machiavelli <[EMAIL PROTECTED]> wrote: > $array = array( > > 1 => array("order_number" => "10DA0DDEDAF97DB", "order_payment_first_name" > => "Mike", "order_payment_last_name" => "Smith"), > > 2 => array("order_number" => "10DA0DDEDAF97DB", "order_payment_first_name" > => "Mike", "order_payment_last_name" => "Smith"), > > 3 => array("order_number" => "45Y3453245T23T5", "order_payment_first_name" > => "Steve", "order_payment_last_name" => "Jobs"), > > 4 => array("order_number" => "34RTB345T45T456", "order_payment_first_name" > => "Frank", "order_payment_last_name" => "Capra"), > > 5 => array("order_number" => "567U457645645Y6", "order_payment_first_name" > => "John", "order_payment_last_name" => "Doe"), > > 6 => array("order_number" => "7698234T456M963", "order_payment_first_name" > => "Bill", "order_payment_last_name" => "Williams")); > > > > echo(''); > > print_r($array); > > echo(''); > > > > My question is I want to remove duplicate order numbers in other words ditch > *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. > > > > > > Thanks > > [EMAIL PROTECTED] > > Would it be possible to leave them out in your original query? -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Removeing duplicates inside for/foreach loop.
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[] = '' . $row['order_payment_first_name'] . ' ' . $row['order_payment_last_name'] . ''; } $db->freeresult($result); 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']) { unset($order_data[$i-1]); } if (count($order_data) > 0) { $order_list = implode(', ', $order_data); } else { $order_list = ''; } } } -Original Message- From: tedd [mailto:[EMAIL PROTECTED] 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 words ditch >*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 -- --- http://sperling.com http://ancientstones.com http://earthstones.com -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
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 words ditch *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 -- --- http://sperling.com http://ancientstones.com http://earthstones.com -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[Fwd: Re: [PHP] Removeing duplicates inside for/foreach loop.]
Niccolo Machiavelli wrote: $array = array( 1 => array("order_number" => "10DA0DDEDAF97DB", "order_payment_first_name" => "Mike", "order_payment_last_name" => "Smith"), 2 => array("order_number" => "10DA0DDEDAF97DB", "order_payment_first_name" => "Mike", "order_payment_last_name" => "Smith"), 3 => array("order_number" => "45Y3453245T23T5", "order_payment_first_name" => "Steve", "order_payment_last_name" => "Jobs"), 4 => array("order_number" => "34RTB345T45T456", "order_payment_first_name" => "Frank", "order_payment_last_name" => "Capra"), 5 => array("order_number" => "567U457645645Y6", "order_payment_first_name" => "John", "order_payment_last_name" => "Doe"), 6 => array("order_number" => "7698234T456M963", "order_payment_first_name" => "Bill", "order_payment_last_name" => "Williams")); echo(''); print_r($array); echo(''); My question is I want to remove duplicate order numbers in other words ditch *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. It looks like the array is sorted. In pseudo code for i = 2 to n if x[1].order = x[i-1].order then unlink x[i-1] Stephen -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] Removeing duplicates inside for/foreach loop.
$array = array( 1 => array("order_number" => "10DA0DDEDAF97DB", "order_payment_first_name" => "Mike", "order_payment_last_name" => "Smith"), 2 => array("order_number" => "10DA0DDEDAF97DB", "order_payment_first_name" => "Mike", "order_payment_last_name" => "Smith"), 3 => array("order_number" => "45Y3453245T23T5", "order_payment_first_name" => "Steve", "order_payment_last_name" => "Jobs"), 4 => array("order_number" => "34RTB345T45T456", "order_payment_first_name" => "Frank", "order_payment_last_name" => "Capra"), 5 => array("order_number" => "567U457645645Y6", "order_payment_first_name" => "John", "order_payment_last_name" => "Doe"), 6 => array("order_number" => "7698234T456M963", "order_payment_first_name" => "Bill", "order_payment_last_name" => "Williams")); echo(''); print_r($array); echo(''); My question is I want to remove duplicate order numbers in other words ditch *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. Thanks [EMAIL PROTECTED]