Forum Moderators: coopster

Message Too Old, No Replies

Can not get unique values

array_unique() not performing as expected

         

henry0

6:33 pm on Oct 5, 2007 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



This is a follow up on a previous thread
whois_greg sugested a method (which I use)
but this is easier to read form my quest:
Why does not array_unique work
I get the first letter of all username by using {0}
then try to get rid of dupes using array_unique

echo '<select name="username">';

while ($row=mysql_fetch_array($result) )
{
$username=$row['username'];

$username=$username{0};
$username=explode(' ',$username);
$username=array_values(array_unique($username));
$username=implode(' ',$username);
echo '<option>';
echo"$username";
echo"</options>";
}
echo"</select>";


As is it populates OK the DD box but keeps dupes

mooger35

9:16 pm on Oct 5, 2007 (gmt 0)

10+ Year Member



not sure if this is what you had in mind but here goes...

echo '<select name="username">';
$firstletters = array();
while ($row=mysql_fetch_array($result) )
{
$username=$row['username'];
$firstletters[]=$username{0};
$firstletters = array_unique($firstletters);
}
foreach ($firstletters as $value){
echo '<option>';
echo $value;
echo "</options>";
}
echo"</select>";

henry0

9:27 pm on Oct 5, 2007 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



mooger35
Thanks, exactly what I was trying to achieve

the foreach was the solution. :)