note 105948 deleted from function.ctype-digit by danbrown
| From: | danbrown@php.net | Date: | Tue, 27 Sep 2011 14:23:46 +0000 |
| Subject: | note 105948 deleted from function.ctype-digit by danbrown | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-183487@lists.php.net to get a copy of this message | ||
Note Submitter: tirthesh dot trivedi at yahoo dot com
----
Change in above example:
function is_IMEI_valid($imei){
$imei = strval($imei);
if(!ctype_digit($imei))
{
return false;
}
$len = strlen($imei);
if($len != 15)
{
return false;
}
for($ii=1, $sum=0 ; $ii < $len ; $ii++)
{
if($ii % 2 == 0)
{
$prod = 2;
}
else
{
$prod = 1;
}
$num = $prod * $imei[$ii-1];
if($num > 9)
{
$numstr = strval($num);
$sum += $numstr[0] + $numstr[1];
}
else
{
$sum += $num;
}
}
// find the last number of the sum amount
$sumlast = $sum % 10;
$dif = (10-$sumlast);
$diflast = intval(10*(($dif/10)-floor($dif/10))); //The last digit of $dif
$CD = intval($imei[$len-1]); //check digit
if($diflast == $CD) return true;
return false;
}
I think, better should use modulas operator to find reminder, isn't it ?