- array_sum: documentation ( source)
- mb_substr: documentation ( source)
- mb_strlen: documentation ( source)
- preg_match_all: documentation ( source)
- unpack: documentation ( source)
<?php
$w="War and 12 Peace3";
for($l=$i=mb_strlen($w);$i--;){
$c=array_sum(unpack("C*",mb_substr($w,$i,1)));
96<$c&&$c<123 and $v+=$c-96 or 64<$c&&$c<91 and $v+=1.5*$c-96 or 48<$c&&$c>32||$c>57&&$c<127 and $v-=1;
echo "$v,";
}
echo $v/$l,"\n";
preg_match_all("/\d+/",$w,$m);echo array_sum($m[0]);
echo PHP_MAX_INT, " ", ~0;