Home › Forums › Back End › PHP Challenge › Re: PHP Challenge
July 18, 2011 at 6:03 am
#83536
ddliu
Member
Here is my solution:
$file='numbers.txt';
$fp=fopen($file,'r');
$sum=0;
$chars=array();
//parse line by line to save memory
while(false!==$line=fgets($fp)){
$line=trim($line);
if(is_numeric($line)){
$sum+=$line;
}
else{
if(!isset($chars[$line])){
$chars[$line]=1;
}
else{
$chars[$line]++;
}
}
}
//close file
fclose($fp);
//sort chars
ksort($chars);
//print result
echo 'Sum: '.$sum.PHP_EOL;
foreach($chars as $char=>$num){
echo $char.':'.$num.PHP_EOL;
}