如何将ASP中的代码生成器功能更改为PHP语言

时间:2011-11-06 16:04:36

标签: php

我在ASP代码中没有任何经验,我无法将此功能更改回PHP

function  MELLICODE(CODE: STRING): Boolean;
var a,b,c : integer;
begin
   A:=strtoint(CODE[10]);
   B:=strtoint(CODE[1])*10 + strtoint(CODE[2])*9 +   
strtoint(CODE[3])*8 + strtoint(CODE[4])*7 + strtoint(CODE[5])*6 + 
strtoint(CODE[6])*5 + strtoint(CODE[7])*4 + strtoint(CODE[8])*3 + 
strtoint(CODE[9])*2;
   C:=b-(b div 11)*11;
   If (c=0) and (a=c) then
       MELLICODE:=TRUE
  else if (c=1) and (a=1) then
       MELLICODE:=TRUE
    else if (c>1) and (a=abs(c-11)) then
       MELLICODE:=TRUE
    else
        MELLICODE:=FALSE;

这是一个代码生成器,它将生成一个包含10个数字的代码。

我知道这要求很多,但我尝试了很多但却无法理解语言。

1 个答案:

答案 0 :(得分:1)

我多年没有使用ASP了。我确定它不完整但可以帮到你。

function mellicode( $code ) {
    $a = intval( $code[9] );
    $b = ( intval( $code[0] ) * 10 ) + ( intval( $code[1] ) * 9 ) + ( intval( $code[2] ) * 8 ) + ( intval( $code[3] ) * 7 ) + ( intval( $code[4] ) * 6 ) + ( intval( $code[5] ) * 5 ) + ( intval( $code[6] ) * 4 ) + ( intval( $code[7] ) * 3 ) + ( intval( $code[8] ) * 2 );
    $c = $b - ( $b % 11 )*11;

    if( $c == 0 AND $a == $c )
        return TRUE;
    elseif( $c == 1 AND $a == 1 )
        return TRUE;
    elseif( $c > 1 AND $a == abs( $c - 11 ) )
        return TRUE;
    else
        return FALSE;
}