note 105948 added to function.ctype-digit
| From: | tirthesh dot trivedi at yahoo dot com | Date: | Tue, 27 Sep 2011 11:11:58 +0000 |
| Subject: | note 105948 added to function.ctype-digit | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-183473@lists.php.net to get a copy of this message | ||
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 ?
----
Server IP: 69.147.83.197
Probable Submitter: 123.237.228.221
----
Manual Page -- http://www.php.net/manual/en/function.ctype-digit.php
Edit -- https://master.php.net/note/edit/105948
Del: integrated -- https://master.php.net/note/delete/105948/integrated
Del: useless -- https://master.php.net/note/delete/105948/useless
Del: bad code -- https://master.php.net/note/delete/105948/bad+code
Del: spam -- https://master.php.net/note/delete/105948/spam
Del: non-english -- https://master.php.net/note/delete/105948/non-english
Del: in docs -- https://master.php.net/note/delete/105948/in+docs
Del: other reasons-- https://master.php.net/note/delete/105948
Reject -- https://master.php.net/note/reject/105948
Search -- https://master.php.net/manage/user-notes.php