Arve Systad Skrevet 12. mai 2005 Del Skrevet 12. mai 2005 Lurer på korleis eg kan outputte antall tegn av gitt type som er i en streng, for eksempel: $streng = "abcdefgabcdefgaa" Og så telle antall "a" i den variabelen, og kunne outputte det. Korleis? Har rota litt rundt på php.net, men finner ingenting av verdi. Antar eg må bruke count(), men klarte ikkje heilt å tenke ut en smart metode sjøl. Lenke til kommentar
LoS Skrevet 12. mai 2005 Del Skrevet 12. mai 2005 (endret) Kommer ikke på noen enklere måte i farta, men kan sikkert bruke denne: <?php $var = 'fhsdnaofanskfjnfdokfaejskafsaopnsd'; $antall_tegn = strlen($var); // teller antall tegn i strengen $string = str_replace("a", "", $var); // fjerner alle tilfeller av 'a' $antall_tegn2 = strlen($string); // teller antall tegn ett at alle tegn er fjernet $antall = $antall_tegn - $antall_tegn2; // logisk nok. echo $antall; ?> Er helt sikker på at det finnes en enklere kode for det, men kommer ikke på det nå. Endret 12. mai 2005 av LoS Lenke til kommentar
dabear Skrevet 12. mai 2005 Del Skrevet 12. mai 2005 Eg har ikkje tida til å teste det ut no, men kva med å køyre ein loop gjennom alle bokstavar, legge dei i et array- og viss du finn den same bokstaven igjen, auker du ein variabel eller key i arrayet med éin? Lenke til kommentar
Arve Systad Skrevet 12. mai 2005 Forfatter Del Skrevet 12. mai 2005 LoS: Din metode funker finfint den, takk takk dabear: usikker på korleis eg skal gjere akkurat det, om du hadde komt med et eksempel hadde eg sikkert forstått meir. Takk uansett Lenke til kommentar
dabear Skrevet 12. mai 2005 Del Skrevet 12. mai 2005 (endret) <?php $elements = array(); $string = 'abcdefghhhaaas'; $length = strlen($string); for($i = 0; $i < ($length -1); $i++) { $elements[$string{$i}]++; } ?> Noko slikt kanskje? Har ikkje prøvd han, men du skjøner kva eg meiner.. Endret 12. mai 2005 av dabear Lenke til kommentar
PT Skrevet 13. mai 2005 Del Skrevet 13. mai 2005 (endret) Prøv funksjonen substr_count(). Er usikker på om den er case sensitive, men det kan løses slik: <?php $streng = 'asdkjhasheuabsba'; echo substr_count(strtolower($streng), 'a'); ?> Når du skal kode PHP er forresten PHP-manualen med kommentarer utrolig grei å ha lokalt på maskinen http://unrealized.org/guide/php/manualen_lokalt/ EDIT: Haha! @ duden under meg EDIT 2: EDIT 3: Men PT... Du mangler jo needle i din substr_count () wink.gif Neihei Endret 13. mai 2005 av PT Lenke til kommentar
kakkle Skrevet 13. mai 2005 Del Skrevet 13. mai 2005 (endret) Kan du ikke bare bruke substr_count() ? $streng = "abcdefgabcdefgaa" $antall = substr_count(strtolower($streng), "a") echo $antall // Bør skrive ut 4 EDIT: Jeg er sinnsykt treig på å skrve... PT var jo lenge før meg EDIT2: Hadde byttet om på Haystack og needle EDIT 3: Men PT... Du mangler jo needle i din substr_count () Endret 13. mai 2005 av kakkle Lenke til kommentar
Arve Systad Skrevet 13. mai 2005 Forfatter Del Skrevet 13. mai 2005 Ah, det var litt lettare jah! Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå