Substr_count dla $needle jako tablicy

Potrzebuję zliczyć w ciągu ilość wystąpień wielkich liter

z prostymi skryptami sobie radzę ale nie jestem w stanie wyobrazić sobie

a przez to zrozumieć bardziej skomplikowanych

jako skrypt wyjsciowy znalazłem w sieci coś takiego

wydaje mi się iz moją tablicą

arrary(‘Q’, ‘W’, ‘E’, ‘R’, ‘T’, ‘Y’, ‘U’, ‘I’, ‘O’, ‘P’, ‘A’, ‘S’, ‘D’, ‘F’, ‘G’, ‘H’, ‘J’, ‘K’, ‘L’, ‘Z’, ‘X’, ‘C’, ‘V’, ‘B’, ‘N’, ‘M’)

ma byc ów $substring ale nie wychodzi mi to i nie oganiam dla czego

<?php

function substr_count_array ( $haystack , $needle ) {

$count = 0 ;

foreach ( $needle as $substring ) {

$count += substr_count ( $haystack , $substring );

}

return $count ;

}

?>

To co podałeś wygląda dobrze, z tym że nie podałeś najważniejszej części, czyli jak wygląda funkcja substr_count. :wink:

Ogólnie rzecz biorąc najprostszy przykład chyba wyglądałby tak:

$tab = ['Abc', 'deF', 'gHi'];

$count = 0;

for ($i = 0; $i < count($tab); $i++) {

	for ($j = 0; $j < strlen($tab[$i]); $j++) {

		if (ctype_upper($tab[$i][$j])) $count++;

	}

}

echo $count;

Wielkie dzięki nie wiedziałem o ctype_upper

mi wystarczy tak i pięknie działa

$wyraz = 'hjbjKKbkjbJJBjnjnjlLL';

$count = 0;

for ($i = 0; $i < strlen($wyraz); $i++) {   

      if (ctype_upper($wyraz[$i])) $count++;

   }


echo $count;

pozbędę się dzięki temu natarczywych botów