Gå til innhold

Telle antall tegn av en type i en streng


Anbefalte innlegg

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
Videoannonse
Annonse

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å. :p

Endret av LoS
Lenke til kommentar
<?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 av dabear
Lenke til kommentar

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 :p

 

EDIT 2:

EDIT 3: Men PT... Du mangler jo needle i din substr_count () wink.gif

Neihei :p

Endret av PT
Lenke til kommentar

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 av kakkle
Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...