<?php
$p =<<<EOT
That interviews should involve simple code is now common wisdom in programming circles. The story is that a high percentage of programmers, even people with impressive resumes, “just can’t code.” Asked to do the simplest things—problems a good coders could solve as fast they could write—some spend ten or twenty minutes before they get an answer, or fail entirely. (See discussion by Jeff Attwood and Joel Spolsky.) I don’t go as far as others here. I think a lot of “slow coders” are probably excellent employees, making up for it in other areas. Some projects don’t need speed. Some people just need to spend more time programming; everyone was a slow programmer some time. But I know from experience that slow coders don’t work at LibraryThing. They don’t fit the LibraryThing development culture.
EOT;
$pattern = '[\w\d]+';
$words = array();
preg_match_all('/'.$pattern.'/', $p, $words);
$words = $words[0];
$result = array();
foreach ($words as $word) {
$len = mb_strlen($word);
if (isset($result[$len])) {
$result[$len]++;
} else {
$result[$len] = 1;
}
}
foreach ($result as $length => $count) {
echo $count.' words with '.$length.' letter.'.PHP_EOL;
}
34 words with 4 letter.
6 words with 10 letter.
15 words with 6 letter.
7 words with 7 letter.
20 words with 2 letter.
20 words with 3 letter.
4 words with 11 letter.
12 words with 5 letter.
12 words with 1 letter.
6 words with 8 letter.
2 words with 9 letter.
2 words with 12 letter.
Output for 4.3.0 - 4.3.9, 5.0.0 - 5.0.1
Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/TkvTU on line 22
34 words with 4 letter.PHP_EOL
Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/TkvTU on line 22
6 words with 10 letter.PHP_EOL
Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/TkvTU on line 22
15 words with 6 letter.PHP_EOL
Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/TkvTU on line 22
7 words with 7 letter.PHP_EOL
Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/TkvTU on line 22
20 words with 2 letter.PHP_EOL
Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/TkvTU on line 22
20 words with 3 letter.PHP_EOL
Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/TkvTU on line 22
4 words with 11 letter.PHP_EOL
Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/TkvTU on line 22
12 words with 5 letter.PHP_EOL
Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/TkvTU on line 22
12 words with 1 letter.PHP_EOL
Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/TkvTU on line 22
6 words with 8 letter.PHP_EOL
Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/TkvTU on line 22
2 words with 9 letter.PHP_EOL
Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/TkvTU on line 22
2 words with 12 letter.PHP_EOL