一个简单的PHP扩展介绍和开发教程
我们使用PHP扩展,其主要目的是为了提高程序的执行效率,并将其扩展到大量的访问代码或逻辑。在做项目的过程中,需要对数据进行排序,数据操作较复杂;我们将一百万数据排序,这里是一个测试我在节目前做:先用PHP程序生成一百万个随机数,并保存在一个文件中。生成随机数的代码如下所示。
复制代码代码如下所示:
(0)set_time_limit;
ini_set(memory_limit
$ =数组();
($ i = 1;$ i < 1000000;$ + +)
$数据;
file_put_contents(数据。php,);
代码非常简单,你可以看到这里没有解释。
下面是PHP编写的快速排序、PHP本身的排序函数和扩展的排序函数。所需时间如下:
下面将显示PHP代码。需要解释的是hello函数的扩展。
复制代码代码如下所示:
< PHP
ini_set(memory_limit
(0)set_time_limit;
include_once(数据。'/library/loader.php'); / /随机数生成存储在这个文件中只是现在
$ =计数(数据);
data_s美元美元美元的数据data_q = =;
s_s = = array_sum s_t美元美元(爆炸(
Qsort($ 0美元的数据,len-1);
s_t美元= array_sum(爆炸(
排序($ data_s);
q_t美元= array_sum(爆炸(
data_q美元(美元data_q)=你好;
r_t美元= array_sum(爆炸(
php编写的快速排序时间。(s_t美元美元s_s)。
系统排序函数使用时间。(q_t美元美元s_t)。
本地排序函数使用时间:。(r_t美元美元q_t)。
回波检测结果比较:($ data_s = $ data_q);
函数qsort(美元美元美元ARR,L,U)
{
如果($ = u)
返回;
美元= L;
为($ = $ l + 1;$ i = $ u;$ + +)
{
如果($ ARR { $我} { } << ARR为美元)
{
百万美元;
如果(M)!= i美元)
{
T =美元美元美元ARR {我};
ARR {我} =美元美元美元美元ARR {男};
{ } = M arr美元美元美元T;
}
}
}
T =美元美元美元美元ARR { L };{ } = $ $ L ARR ARR { $ M };{ } = M arr美元美元美元T;
Qsort(ARR美元,美元升,美元m-1);
Qsort($ ARR,M + 1美元美元,U);
}
>
这很简单,没有了,我们来谈谈扩展。
膨胀的产生有一定的步骤,互联网有一个很好的解释,我不再罗嗦,
首先,使用PHP的库文件生成一个基本扩展项目
生成的项目,
修改C,写你自己的快速行,我的代码是将PHP程序转换成C语言。在生成DLL后,把它放在PHP扩展中,并首先检查扩展是否已启用。
然后直接在代码中使用hello函数(我不在这里更改函数的名称)
注意:扩展必须被认为是全面的,而不是错误的使用,特别是C编写的代码,否则PHP系统就会崩溃。