Проверка повторяющихся цифр в массиве

amas_mind

Новичок
Проверка повторяющихся цифр в массиве

Добрый день.
есть массив

$arr[0]=1;
$arr[1]=2;
$arr[2]=6;
$arr[3]=7;
$arr[4]=7;
$arr[5]=4;

Подскажите мастера есть ли такая функция которой указываешь массив чисел, а она возвращает количество повторов рядом стоящих, в данном случае что - то типа :

повтор есть 2 раза цифра 7.

Вопрос туповат согласен :) но все же - самому написать проверку в ручную - боюсь будет долго работать эта функция.
Вот и подумал может тут кто что умное посоветует..
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
amas_mind
Рядом стоящих врядли
 

cDLEON

Онанист РНРСlub
А что именно там оптимизировать ?
В 3-ри строчки всё решение.
 

amas_mind

Новичок
cDLEON
ладно через 20 минут сделаю. Помогите мне если увидите что есть более быстрое решение.

-~{}~ 13.10.07 01:17:

Код:
$l1=$p[1][$0].";".$p[1][$1].";".$p[1][$2].";".$p[1][$3].";".$p[1][$4];
for($i=0;$i<12;$i++)
{
	$repeat1 = strpos($l1,$i.";".$i.";");
	$repeat2 = strpos($l1,$i.";".$i.";".$i.";");
	$repeat3 = strpos($l1,$i.";".$i.";".$i.";".$i.";");
	$repeat4 = strpos($l1,$i.";".$i.";".$i.";".$i.";".$i.";");
	
	if ($repeat1 !== false) { $repeattimes=2; $repeatsymbol=$i; }
	if ($repeat2 !== false) { $repeattimes=3; $repeatsymbol=$i; }
	if ($repeat3 !== false) { $repeattimes=4; $repeatsymbol=$i; }
	if ($repeat4 !== false) { $repeattimes=5; $repeatsymbol=$i; }
}
сдается мне что это фуфловое решение.
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Мда...

-~{}~ 13.10.07 00:23:

amas_mind
Вам нужно
1. foreach
2. ++
всё
 

cDLEON

Онанист РНРСlub
Где массив чисел?
PHP:
$l1=$p[1][$0].";".$p[1][$1].";".$p[1][$2].";".$p[1][$3].";".$p[1][$4];
Это что за изврат ? Вы точно нужную функцию сюда скопировали?
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
TutanXamoN
ПОДРЯД стоящих
 

cDLEON

Онанист РНРСlub
Mr_Max
Та не нужен ему фориач. На сколько я понял, у него ключи идут по порядку от нуля, до + бесконечности.
Ему нужно с массивами работать научиться.
---
ПС. Попробуйте складывать результат в удобно-разбираемый после скриптом - массив
[offtop]
max, а когда у меня уже эта дурацкая "Активист phpClub" смениццо на старожил ? =))
[/offtop]
 

TutanXamoN

Новичок
Mr_Max туплю.
Дык если подряд стоящие то просто проходим все елeменты и смотрим не равен ли какой-то предыдущему
for($i=1;$i<=sizeof($a);$i++)
{
if($a[$i]==$a[$i-1])
{
echo "Повтор ";
}

}
 

amas_mind

Новичок
TutanXamoN
там массив из 5 элементов.
а повтор может быть 2, 3, 4, 5 раз
соотвецтвенно мне нужно знать сколько раз и какое значение повторялос.
Ща спояю вторую версию скрипта, благодаря вашим пендолям, насмешкам и естественно помощи :)
 

TutanXamoN

Новичок
PHP:
for($i=1;$i<=sizeof($a);$i++)
{
if($a[$i]==$a[$i-1])
{
$k++;
}
elseif($a[$i]!=$a[$i-1]&&$k!=0)
{
$m=$a[$i-1];
$k++;
echo "Повтор значения  $m, $k раз<br>";
$k=0;
}

При массиве
PHP:
$a=array (0, 2, 5, 1, 1, 2, 2, 2, 3);
Вывод:
Повтор значения 1, 2 раз
Повтор значения 2, 3 раз
 

cDLEON

Онанист РНРСlub
TutanXamoN
Отличилсо. ПяДь. Давай зачОтку.
Решил задачу 5-ти классника.
НафеГ выкладывать готовое? Пускай человек сам подумает. Это ведь элементарные знания.
 

amas_mind

Новичок
cDLEON
не торопись с зачетками. студенты дедам еще дадут дрозда :)
TutanXamoN
гы интересно дефки пляшут :) при
$a=array (9, 1, 11, 6, 6); - алгоритм накрываетс медным тазом :)

пацкажите пожалуйста -
Код:
$i<sizeof($a)+1;
это левая пилюля?
 
Сверху