3v4l.org

run code in 300+ PHP versions simultaneously
<?php $interesting_words = [ 'test' => [ 'number_of_occurances' => 0, 'connected_words' => [ 'TEST', 'TESTER', 'TESTING' ] ], 'foobar' => [ 'number_of_occurances' => 0, 'connected_words' => [ 'FOO', 'FOOBAR', 'BAR' ] ] ]; $str = 'Lorem ipsum TEST sit amet, consectetur TESTER elit. Sed in turpis dui. Maecenas venenatis FOOBAR facilisis. Quisque dictum, diam consequat mollis TESTING, orci tellus aliquet nisl, BAR molestie FOO augue at est. In TESTING vehicula lectus. Curabitur ac varius ligula. Pellentesque orci urdna.'; $str = preg_replace('/[\.\,]/i','',$str); $str = strtolower($str); $str_arr = explode(" ",$str); $str_occurance_counts = array_count_values($str_arr); foreach($interesting_words as $k=>&$v){ foreach($v['connected_words'] as $c=>$cVal){ $v['number_of_occurances'] += $str_occurance_counts[strtolower($cVal)]; } echo "Number of occurances for '$k': ".$v['number_of_occurances']."\n"; } print_r($interesting_words ); ?>

preferences:
30.41 ms | 402 KiB | 5 Q