Juu, vielä tämmönen probleema että jostain syystä seuraava pätkä ei käy läpi viimeistä arvoa.
$luvut= explode ("|",$_REQUEST['luvut']); for($i=0;$i<count("$luvut");++$i ) { for ($k=0;$k<count("$luvut"); $k++) { if ($luvut[$k]==$luvut[$i]){$maara++;} } $maara=$maara-1;}
Mod. huom: uudesta kysymyksestä uusi aihe!
Count-funktiolle annetaan parametrina taulukko, ei merkkijono.
Kannattaisi muuten laittaa välejä tuonne operaattorien molemmille puolille. $i = 0 näyttää ainakin omasta mielestäni paremmalta kuin $i=0.
P.S. Tiedätkö mitä "järkevä sisennys ja rivitys" tarkoittaa?
Edit: Ja tuon ekan loopin vikaan kohtaan pitää laittaa $i++ eikä ++$i.
$i++ ja ++$i ovat tässä tapauksessa ihan sama asia. Koodatessa täytyy kuitenkin olla koherentti ja välttää nollat taulussa räpeltämistä, kuten tässä on nyt tehty. Tähän liittyen: jos käytät silmukan alustuksessa syntaksia ++$i kerran, niin sitten käytät sitä aina, ja sama pätee myös toisin päin. Ei ole mitään järkeä sekoitella tyylejä, koska se heikentää luettavuutta.
Funktiolle count pitäisi antaa parametri $luvut eikä "$luvut". Nykyiseltä silmukaltasi jää käymättä paljon muitakin arvoja kuin vain viimeinen.
Suosittelen myös koodaustyylin muuttamista, tuo nykyinen tyylisi on ihan kummallinen ja todella vaikea lukea. Katso vaikka oppaista mallia.
Aihe on jo aika vanha, joten et voi enää vastata siihen.