程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> php擴展介紹與開發實例教程

php擴展介紹與開發實例教程

編輯:PHP綜合

這個擴展早就寫好了,只是一直沒有時間寫在blog上面,今天抽點時間,將它記錄下來,以後備用。

我們使用php擴展,主要目的是提高程序的執行效率,對於訪問量很大的代碼或者邏輯將其寫成擴展。在做項目的過程中,需要對數據進行排序,數據運算比較復雜;我們准備對一百萬個數據進行排序, 下面是我在程序之前做的一個測試:首先使用php程序生成一百萬的隨機數,並將其保存在文件中。
生成隨即數的代碼如下面所示:


set_time_limit(0);
ini_set("memory_limit", -1);
$data = array();
for($i = 1; $i < 1000000; $i++)
  $data[] = rand();
file_put_contents('data.php', '<?PHP $data = ' . var_export($data, true) . "; ?>");


代碼很簡單,一看就明白,這裡不作說明。
下面是使用php寫的快速排序,PHP自身帶的排序函數,以及自己擴展的排序函數,它們所需時間如下所示:

下面將PHP代碼展示一下,需要說明的是:hello函數時自己寫的擴展


<?PHP
ini_set("memory_limit", -1);
set_time_limit(0);
include_once('data.PHP'); //剛才產生的隨機數保存在這個文件
$len = count($data);
$data_s = $data_q = $data;
$s_s = $s_t = array_sum(explode(" ", microtime()));
qsort($data, 0, $len-1);
$s_t = array_sum(explode(" ", microtime()));
sort($data_s);
$q_t = array_sum(explode(" ", microtime()));
$data_q = hello($data_q);
$r_t = array_sum(explode(" ", microtime()));
echo "PHP寫的快速排序
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved