Forums

The forums ran from 2008-2020 and are now closed and viewable here as an archive.

Home Forums Back End PHP Challenge Re: PHP Challenge

#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;
}