note 46987 added to language.operators.array

From: Date: Fri, 29 Oct 2004 14:57:48 +0000
Subject: note 46987 added to language.operators.array
Groups: php.notes 
Request: Send a blank email to php-notes+get-79314@lists.php.net to get a copy of this message
The code from texbungalow at web dot de below is slightly incorrect. If my memory from primary school history is correct, roman numerals don't allow things like MIM - it has to be MCMXCIX, ie each step is only 1 level down (sorry, I can't explain it very well. a print_r($segments) comparing the snippets should explain. Corrected code: <?php function roman ($nr ) { $base_digits= array ( 1=> "I", 10=> "X", 100=> "C", 1000=> "M", ); $help_digits= array ( 5=> "V", 50=> "L", 500=> "D", ); $all_digits= $base_digits+ $help_digits; foreach ($base_digits as $key1=> $value1 ) foreach ($all_digits as $key2=> $value2 ) if ($key1< $key2 && $key1 >= ($key2 / 10)) $segments[$key2- $key1 ]= $value1. $value2; $segments+= $all_digits; krsort ($segments ); foreach ($segments as $key=> $value ) while ($key<= $nr ) { $nr-= $key; $str.= $value; } return $str; } echo roman (1998); // prints MCMXCVIII ?> ---- Manual Page -- http://www.php.net/manual/en/language.operators.array.php Edit -- http://master.php.net/manage/user-notes.php?action=edit+46987 Delete -- http://master.php.net/manage/user-notes.php?action=delete+46987&report=yes Reason: bad code -- http://master.php.net/manage/user-notes.php?action=delete+46987&report=yes&reason=bad+code Reason: spam -- http://master.php.net/manage/user-notes.php?action=delete+46987&report=yes&reason=spam Reason: useless example -- http://master.php.net/manage/user-notes.php?action=delete+46987&report=yes&reason=useless+example Reason: contains commercial links -- http://master.php.net/manage/user-notes.php?action=delete+46987&report=yes&reason=contains+commercial+links Reason: useless note -- http://master.php.net/manage/user-notes.php?action=delete+46987&report=yes&reason=useless+note Reject -- http://master.php.net/manage/user-notes.php?action=reject+46987&report=yes Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#79314) next »