beh praticamente c'era solo da tradurre il codice che ti è stato scritto in php, per stavolta te l'ho scritto commentato, magari studialo così la prossima volta capisci cosa fare
Codice PHP:
<?php
// dichiaro l'array su cui poi applico la funzione
$myArr=array("a","a","a","a","a","s","d","d","d","a","a","d","d","d","d","s");
/* scrivo il risultato della funzione, passando come parametri
* 1: l'array da scorrere
* 2: il valore che voglio conteggiare
*/
echo countValues($myArr,"a");
function countValues(&$array,$value){
// dichiaro le due variabili e le inizializzo a 0
$local=0;
$global=0;
// controllo che l'array e la variabile siano entrambi valorizzati
if (sizeof($array)==0 || $value=="") return false;
/* il foreach scorre l'array restituiendo l'accoppiata
* $chiave (che io ho chiamato $k) => $valore (che io ho chiamato $v)
*/
foreach($array as $k=>$v){
/* ora controllo se il valore dell'array è uguale a quello
* che dobbiamo cercare, incrementiamo di 1 la variabile $local
*/
if ($v==$value){
$local+=1;
/* ora invece controlliamo se $local risulta maggiore del vecchio $global
* significa che questa sequenza è più lunga della precedente, quindi
* mi salvo il valore corrente nella mia $global
*/
if ($local>$global) $global=$local;
}else $local=0;
}
/* finito il controllo e il ciclo restituisco una frase
* in cui scrivo sia il valore da cercare che il numero
* massimo di occorrenze consecutive per quel medesimo valore
*/
return "massimo numero di ripetizioni consecutive per il valore {$value}: {$global}";
}
?>
spero di esser stato abbastanza chiaro