Для примера простой массив
$input = array ("green", "red", "black", "green", "white", "red");Помогите кто знает.
Спустя 16 минут, 50 секунд (7.03.2011 - 08:20) DIMAstudent написал(а):
Возможно механизм должен быть такой:
Но как удалить значение $store???
foreach($input as $key => $value) {
$i = 0;
foreach($input as $switch => $store) {
if (in_array($value == $store)) {
$i++;
}
if ($i != 1) {
//Здесь удалить значение $store в массиве $input
}
}
Но как удалить значение $store???
Спустя 13 минут, 4 секунды (7.03.2011 - 08:34) Invis1ble написал(а):
DIMAstudent
можно так попробовать:
UPD. Аргументы местами перепутал )
можно так попробовать:
$input = array ("green", "red", "black", "green", "white", "red");
foreach ($input as $value)
{
$tmp = array_keys($input, $value);
if (count($tmp) > 1)
foreach ($tmp as $key)
unset($input[$key]);
}
UPD. Аргументы местами перепутал )
Спустя 6 минут, 1 секунда (7.03.2011 - 08:40) DIMAstudent написал(а):
Это работает, только местами поменять
$tmp = array_keys($value, $input);на
$tmp = array_keys($input, $value);Спасибо Invis1ble за помощь.
Спустя 52 секунды (7.03.2011 - 08:40) twin написал(а):
Без цикла
$input = array ("green", "red", "black", "green", "white", "red");
$uniq = array_unique($input);
//Array ( [0] => green [1] => red [2] => black [4] => white )
$diff = array_diff_assoc($input, $uniq);
//Array ( [3] => green [5] => red )
$out = array_diff($input, $diff);
//Array ( [2] => black [4] => white )
Спустя 8 минут, 59 секунд (7.03.2011 - 08:49) DIMAstudent написал(а):
Спасибо twin, отличный вариант решения, меньше ресурса ПК используется.