note 36934 added to funcref
| From: | master at dreamphp dot com | Date: | Tue, 28 Oct 2003 00:08:53 +0000 |
| Subject: | note 36934 added to funcref | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-59393@lists.php.net to get a copy of this message | ||
// kill-time. complicatedly source ... ^^;;;
function roma_to_number ($string) {
$len = strlen($string);
$sum = 0;
for ($i=0;$i<$len;$i++) {
switch ( $string{$i} ) {
case 'I': // 1
$sum+=1;
break;
case 'V': // 5
if ( $string{$i-1} == 'I' ) $sum+=3;
else $sum+=5;
break;
case 'X': // 10
if ( $string{$i-1} == 'I' ) $sum+=8;
else $sum+=10;
break;
case 'L': // 50
if ( $string{$i-1} == 'X' ) $sum+=30;
else $sum+=50;
break;
case 'C': // 100
if ( $string{$i-1} == 'X' ) $sum+=80;
else $sum+=100;
break;
case 'D': // 500
if ( $string{$i-1} == 'C' ) $sum+=300;
else $sum+=500;
break;
case 'M': // 1000
if ( $string{$i-1} == 'C' ) $sum+=800;
else $sum+=1000;
break;
}
}
return $sum;
}
// example
echo roma_to_number('MCMXCVIII').'-'.roma_to_number('MMIII');
// output 1998-2003
----
Manual Page -- http://www.php.net/manual/en/funcref.php
Edit -- http://master.php.net/manage/user-notes.php?action=edit+36934
Delete -- http://master.php.net/manage/user-notes.php?action=delete+36934&report=yes
Reject -- http://master.php.net/manage/user-notes.php?action=reject+36934&report=yes
Search -- http://master.php.net/manage/user-notes.php