w3resource

PHP Math Exercises: Convert Arabic numbers to Roman numerals

PHP math: Exercise-9 with Solution

Write a PHP function to convert Arabic numbers to Roman numerals.

Pictorial Presentation:

PHP Math Exercises: Convert Arabic numbers to Roman numerals

Sample Solution:

PHP Code:

<?php
function arabic_rome($num)
{ 
$c='IVXLCDM'; 
for($x=5,$y=$result='';$num;$y++,$x^=7) 
for($o=$num%$x,$num=$num/$x^0;$o--;$result=$c[$o>2?$y+$num-($num=-2)+$o=1:$y].$result); 
return $result; 
} 
print_r(arabic_rome(101)."\n");
?>

Sample Output:

CI

Flowchart :

Flowchart: Convert Arabic numbers to Roman numerals

PHP Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Write a PHP function to round a float away from zero to a specified number of decimal places.
Next: Write a PHP function to get random float numbers.

What is the difficulty level of this exercise?



PHP: Tips of the Day

PHP represents "no value" with the null keyword. It's somewhat similar to the null pointer in C-language and to the NULL value in SQL.

Setting the variable to null:

Example:

$nullvar = null; // directly
function doSomething() {} // this function does not return anything
$nullvar = doSomething(); // so the null is assigned to $nullvar

Checking if the variable was set to null:

if (is_null($nullvar)) { /* variable is null */ }
if ($nullvar === null) { /* variable is null */ }

Null vs undefined variable

If the variable was not defined or was unset then any tests against the null will be successful but they will also generate a Notice: Undefined variable: nullvar:

$nullvar = null;
unset($nullvar);
if ($nullvar === null) { /* true but also a Notice is printed */ }
if (is_null($nullvar)) { /* true but also a Notice is printed */ }

Therefore undefined values must be checked with isset:

if (!isset($nullvar)) { /* variable is null or is not even defined */ }