- array_reduce: documentation ( source)
- stripos: documentation ( source)
- pow: documentation ( source)
- str_split: documentation ( source)
<?php
function wordScore($word){
$map = '^^abcdefghijklmnopqrstuvwxyz1234567890';
return array_reduce(str_split($word), function($score, $letter) use ($map) {
if (!$score) $score = 2;
echo pow(stripos($map, $letter), 2) . ", ";
return $score | pow(stripos($map, $letter), 2);
});
}
echo wordScore('london') . "\n";
echo wordScore('sports');
exit;