You're wrong, he isn't using an associative array, since the keys used are
only integers.
array(10,10,40,30,30,10);
and
array(0=>10,1=>10,2=>40,3=>30,4=>30,5=>10);
create the same array.
The problem is that array_unique preserves keys (read the manual!!!)
If you don't want this, use array_values() to turn the array into a more
traditional array:
$a = array_values(array_unique($a));
2006/4/22, Brian V Bonini <[EMAIL PROTECTED]>:
>
> On Sat, 2006-04-22 at 07:09, suresh kumar wrote:
> > sorry.earlier i mistyped some values.
> >
> > I am facing one project in my project .
> >
> > this is my code:
> >
> > a=array(0=>10,1=>10,2=>40,3=>30,4=>30,5=>10);
> > b=array();
> > b=array_unique($a);
> > print_r($b);
> > o/p getting from above code is b[0]=10,b[2]=40,b[3]=30,b[5]=10;
> >
> > but i want the o/p be b[0]=10,b[1]=40,b[2]=30,b[3]=10;
>
>
> That will return:
>
> Array
> (
> [0] => 10
> [2] => 40
> [3] => 30
> )
>
> If you want:
>
> Array
> (
> [0] => 10
> [1] => 40
> [2] => 30
> )
>
>
> Don't use an associative array for $a
> $a=array(10,10,40,30,30,10);
>
> Or iterate through $a to re-sequence the index in $b.
>
> $a=array(0=>10,1=>10,2=>40,3=>30,4=>30,5=>10);
> $a=array_unique($a);
>
> foreach($a as $v) {
> $b[] = $v;
> }
>
> print_r($b);
>
> --
>
> s/:-[(/]/:-)/g
>
>
> Brian GnuPG -> KeyID: 0x04A4F0DC | Key Server: pgp.mit.edu
> ======================================================================
> gpg --keyserver pgp.mit.edu --recv-keys 04A4F0DC
> Key Info: http://gfx-design.com/keys
> Linux Registered User #339825 at http://counter.li.org
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>