将FoxPro函数转换为php

时间:2013-05-25 05:51:14

标签: php foxpro

我被问及/被告知将foxpro函数转换为PHP,但我对foxpro一无所知。

PARAMETERS cCkey
LOCAL cKey
cKey = SUBSTR(SYS(2015),2)+PADL(LTRIM(STR(INT(IIF(INT(RAND()*1000000000) =   851390329,RAND(-1),RAND())*1000000),6)),6,"0")

RETURN cKey

以上是他们想要在用PHP构建的系统中使用的功能,以便与foxpro数据库集成。

PHP中有一些熟悉的功能,但其他功能如“SYS”和“IIF”则不然,而且我知道有人在这里可以看一眼,并确切知道它是什么正在做。

介意帮助我?提前谢谢。

2 个答案:

答案 0 :(得分:1)

Sys(2015)是一个方便的VFP函数,它返回该VFP会话唯一的值。你可以阅读它here

Iif 是内联if-else-endif语句..就像Excel一样

更新了

SYS(2015)用PHP?我不知道..但是如果我们在PHP中讨论随机字符串,你可以使用这个

function rand_string( $length ) {
    $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";  

    $size = strlen( $chars );
    for( $i = 0; $i < $length; $i++ ) {
        $str .= $chars[ rand( 0, $size - 1 ) ];
    }

    return $str;
}

我从this link得到了这个,并从this link

得到了基本的想法

关于另一部分可能是这样的:

$randomresult = 0
$srandom = ""

If (INT(RAND()*1000000000) =   851390329)
{
    $randomresult = int(rand(-1)) * 1000000
}
else
{
    $randomresult = int(rand()) * 1000000
}

$srandom=str_pad(ltrim(strval($randomresult),"0")),6,"0",STR_PAD_LEFT)

所以,我们可以在PHP中制作这样的foxpro代码:

$cKey = rand_string(10) . str_pad(ltrim(strval($randomresult),"0")),6,"0",STR_PAD_LEFT)

至少你可以这个想法......

答案 1 :(得分:0)

SYS(2015)返回一个唯一的10个字符的过程名称,以下划线开头,后跟字母和数字的组合。

http://msdn.microsoft.com/en-us/library/684by7c1(v=vs.80).aspx

IIF根据逻辑表达式的值返回两个值中的一个。

http://msdn.microsoft.com/en-us/library/7ttt15k6(v=vs.80).aspx

有了这些信息,我认为你至少可以尝试创建一个PHP函数,然后展示一些PHP并在需要时寻求帮助。