Проблеми със функцията array_unique().
1 отговора
66 прегледа
Проблеми със функцията array_unique().
Здравейте, имам проблем с използването на функцията array_unique(), която би трябвало да върне неповтарящи се стойности на масив. Тук е малък пример за програма:
$digits= array( array( "value1"=>1,"value2"=>5,"value3"=>7),
array( "value1"=>3,"value2"=>6,"value3"=>10),
array( "value1"=>1,"value2"=>5,"value3"=>7),
array( "value1"=>14,"value2"=>17,"value3"=>3),
array( "value1"=>1,"value2"=>5,"value3"=>7),
);
for ($i=0;$i<5;$i++)
echo "|".$digits[$i]["value1"]."|".$digits[$i]["value2"]."|".$digits[$i]["value3"]."|
";
echo "Here must see distinct rows.
";
$distinct_digits=array_unique($digits);
for ($j=0;$j<5;$j++)
echo "|".$distinct_digits[$j]["value1"]."|".$distinct_digits[$j]["value2"]."|".$distinct_digits[$j]["value3"]."|
";
Програмата извежда:
|1|5|7|
|3|6|10|
|1|5|7|
|14|17|3|
|1|5|7|
Here must see distinct rows.
||||
|3|6|10|
||||
||||
||||
Обаче аз очаквам да получа това кото е коректния резултат:
|1|5|7|
|3|6|10|
|1|5|7|
|14|17|3|
|1|5|7|
Here must see distinct rows.
|1|5|7|
|3|6|10|
||||
|14|17|3|
||||
Тази програма работи по очаквания от мен начин в php ver. 4.0.4 pl1 но изкарва горния резултат в ver 4.1.2.
Може ли някой да ми помогне да разреша този проблем?
Петър
$digits= array( array( "value1"=>1,"value2"=>5,"value3"=>7),
array( "value1"=>3,"value2"=>6,"value3"=>10),
array( "value1"=>1,"value2"=>5,"value3"=>7),
array( "value1"=>14,"value2"=>17,"value3"=>3),
array( "value1"=>1,"value2"=>5,"value3"=>7),
);
for ($i=0;$i<5;$i++)
echo "|".$digits[$i]["value1"]."|".$digits[$i]["value2"]."|".$digits[$i]["value3"]."|
";
echo "Here must see distinct rows.
";
$distinct_digits=array_unique($digits);
for ($j=0;$j<5;$j++)
echo "|".$distinct_digits[$j]["value1"]."|".$distinct_digits[$j]["value2"]."|".$distinct_digits[$j]["value3"]."|
";
Програмата извежда:
|1|5|7|
|3|6|10|
|1|5|7|
|14|17|3|
|1|5|7|
Here must see distinct rows.
||||
|3|6|10|
||||
||||
||||
Обаче аз очаквам да получа това кото е коректния резултат:
|1|5|7|
|3|6|10|
|1|5|7|
|14|17|3|
|1|5|7|
Here must see distinct rows.
|1|5|7|
|3|6|10|
||||
|14|17|3|
||||
Тази програма работи по очаквания от мен начин в php ver. 4.0.4 pl1 но изкарва горния резултат в ver 4.1.2.
Може ли някой да ми помогне да разреша този проблем?
Петър
Re: Проблеми със функцията array_unique().
kogato izpolzwash array_unique winagi izpolzwai i array_values :
$results = array_values(array_unique($raw_results));
$results = array_values(array_unique($raw_results));