Re: [PHP] array_unique() workaround? SOLUTION!
reset() is not needed when using foreach but is requirement when using : each(),next(),prev(), etc. Andrey Hristov IcyGEN Corporation http://www.icygen.com BALANCED SOLUTIONS - Original Message - From: "dav" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Wednesday, November 14, 2001 3:08 PM Subject: Re: [PHP] array_unique() workaround? SOLUTION! > Well infact you are checking equity, like my suggestion about in_array :-) > "Spunk S. Spunk III" <[EMAIL PROTECTED]> ha scritto nel messaggio > [EMAIL PROTECTED]">news:[EMAIL PROTECTED]... > > Thanks everyone for the ideas, > > Here's what I came up with... > > I forgot to mention that I needed to preserve the original array's keys. > > Here is a replacement I wrote that seems to work. Let me know if you see > > errors in it or have improvements. > > > > function my_array_unique($somearray) > > { > > asort($somearray); > > reset($somearray); > > $currentarrayvar = current($somearray); > > foreach ($somearray as $key=>$var) > > { > > if (next($somearray) != $currentarrayvar) > > { > > $uniquearray[$key] = $currentarrayvar; > > $currentarrayvar = current($somearray); > > } > > } > > reset($uniquearray); > > return $uniquearray; > > } > > > > > > > > > > I'm working on a script that needs array_unique() but my host is using > 4.0.4 > > > and it's broken in that build. Does anyone have a good workaround for > this? > > > I can wait for my host to upgrade but if I release this code, it would > be > > > better to have the workaround... > > > > > > I just need a good way to check for dups in an array and remove them. I > > > can't get my brain around it... > > > > > > TIA > > > Spunk > > > > > > > > > -- > > > PHP General Mailing List (http://www.php.net/) > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > To contact the list administrators, e-mail: [EMAIL PROTECTED] > > > > > > > > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > To contact the list administrators, e-mail: [EMAIL PROTECTED] > > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]
Re: [PHP] array_unique() workaround? SOLUTION!
Well infact you are checking equity, like my suggestion about in_array :-) "Spunk S. Spunk III" <[EMAIL PROTECTED]> ha scritto nel messaggio [EMAIL PROTECTED]">news:[EMAIL PROTECTED]... > Thanks everyone for the ideas, > Here's what I came up with... > I forgot to mention that I needed to preserve the original array's keys. > Here is a replacement I wrote that seems to work. Let me know if you see > errors in it or have improvements. > > function my_array_unique($somearray) > { > asort($somearray); > reset($somearray); > $currentarrayvar = current($somearray); > foreach ($somearray as $key=>$var) > { > if (next($somearray) != $currentarrayvar) > { > $uniquearray[$key] = $currentarrayvar; > $currentarrayvar = current($somearray); > } > } > reset($uniquearray); > return $uniquearray; > } > > > > > > I'm working on a script that needs array_unique() but my host is using 4.0.4 > > and it's broken in that build. Does anyone have a good workaround for this? > > I can wait for my host to upgrade but if I release this code, it would be > > better to have the workaround... > > > > I just need a good way to check for dups in an array and remove them. I > > can't get my brain around it... > > > > TIA > > Spunk > > > > > > -- > > PHP General Mailing List (http://www.php.net/) > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > To contact the list administrators, e-mail: [EMAIL PROTECTED] > > > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]
Re: [PHP] array_unique() workaround? SOLUTION!
it seems that... $newarray = array() foreach($oldarray as $key => $value) if(! isset($newarray[$key])) $newarray[$key] = $value; -JAson Garber IonZOft.com At 10:42 AM 11/14/2001 +0100, Spunk S. Spunk III wrote: >Thanks everyone for the ideas, >Here's what I came up with... >I forgot to mention that I needed to preserve the original array's keys. >Here is a replacement I wrote that seems to work. Let me know if you see >errors in it or have improvements. > >function my_array_unique($somearray) >{ > asort($somearray); > reset($somearray); > $currentarrayvar = current($somearray); > foreach ($somearray as $key=>$var) > { > if (next($somearray) != $currentarrayvar) > { > $uniquearray[$key] = $currentarrayvar; > $currentarrayvar = current($somearray); > } > } > reset($uniquearray); > return $uniquearray; >} > > > > > > I'm working on a script that needs array_unique() but my host is using > 4.0.4 > > and it's broken in that build. Does anyone have a good workaround for this? > > I can wait for my host to upgrade but if I release this code, it would be > > better to have the workaround... > > > > I just need a good way to check for dups in an array and remove them. I > > can't get my brain around it... > > > > TIA > > Spunk > > > > > > -- > > PHP General Mailing List (http://www.php.net/) > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > To contact the list administrators, e-mail: [EMAIL PROTECTED] > > > > >-- >PHP General Mailing List (http://www.php.net/) >To unsubscribe, e-mail: [EMAIL PROTECTED] >For additional commands, e-mail: [EMAIL PROTECTED] >To contact the list administrators, e-mail: [EMAIL PROTECTED] -- PHP General Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]
Re: [PHP] array_unique() workaround? SOLUTION!
Thanks everyone for the ideas, Here's what I came up with... I forgot to mention that I needed to preserve the original array's keys. Here is a replacement I wrote that seems to work. Let me know if you see errors in it or have improvements. function my_array_unique($somearray) { asort($somearray); reset($somearray); $currentarrayvar = current($somearray); foreach ($somearray as $key=>$var) { if (next($somearray) != $currentarrayvar) { $uniquearray[$key] = $currentarrayvar; $currentarrayvar = current($somearray); } } reset($uniquearray); return $uniquearray; } > > I'm working on a script that needs array_unique() but my host is using 4.0.4 > and it's broken in that build. Does anyone have a good workaround for this? > I can wait for my host to upgrade but if I release this code, it would be > better to have the workaround... > > I just need a good way to check for dups in an array and remove them. I > can't get my brain around it... > > TIA > Spunk > > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > To contact the list administrators, e-mail: [EMAIL PROTECTED] > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]