Re: [PHP] array_unique() workaround? SOLUTION!

2001-11-14 Thread Spunk S. Spunk III

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!

2001-11-14 Thread Jason G.

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!

2001-11-14 Thread dav

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!

2001-11-14 Thread Andrey Hristov

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]