真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

php釋放數(shù)據(jù)集的函數(shù),php處理大量數(shù)據(jù)

php及數(shù)據(jù)庫

PHP調(diào)用三種數(shù)據(jù)庫的方法

創(chuàng)新互聯(lián)建站專注于企業(yè)成都全網(wǎng)營銷、網(wǎng)站重做改版、黃浦網(wǎng)站定制設(shè)計、自適應品牌網(wǎng)站建設(shè)、H5網(wǎng)站設(shè)計商城建設(shè)、集團公司官網(wǎng)建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應式網(wǎng)頁設(shè)計等建站業(yè)務,價格優(yōu)惠性價比高,為黃浦等各大城市提供網(wǎng)站開發(fā)制作服務。

本文比較詳細的介紹PHP調(diào)用MySQL、ODBC以及ORACLE數(shù)據(jù)庫。

MySQL是一個小巧靈瓏的數(shù)據(jù)庫服務器軟件,對于中、小型應用系統(tǒng)是非常理想的。除了支持標準的ANSI SQL語句外,最重要的是,它還支持多種平臺,而在Unix/Linux系統(tǒng)上,MySQL支持多線程運行方式,從而能獲得相當好的性能。它和PHP、 Apache一樣,是屬于開放源代碼軟件。其官方網(wǎng)站是:,上面提供Windows,Linux,Unix版本的源代碼的下載。

注意,MySQL訪問函數(shù)都需要有相應的權(quán)限才能運行。常用的相關(guān)函數(shù)介紹如下:

(1)integer mysql_connect(主機,用戶名,口令);

此函數(shù)開始一個對指定主機上的MySQL數(shù)據(jù)庫的連接。若該數(shù)據(jù)庫位于一個不同地端口,則在主機名后加上冒號和端口號。所有參數(shù)均為可選的,缺省情況下分別對應為本地主機、用戶正在執(zhí)行的腳本名和空。主機可以是IP地址或域名。

在腳本執(zhí)行結(jié)束時,連接被自動關(guān)閉,也可以用mysql_close提前關(guān)閉。

(2)boolean mysql_create_db(數(shù)據(jù)庫名);

創(chuàng)建一個數(shù)據(jù)庫。注意必須用一個帶有創(chuàng)建數(shù)據(jù)庫許可權(quán)的帳號打開連接。

(3)boolean mysql_select_db(數(shù)據(jù)庫名,連接號);

選擇缺省數(shù)據(jù)庫。

(4)integer mysql_query(SQL語句,連接號);

對指定數(shù)據(jù)庫進行查詢。如果SQL語句是select,則返回一個結(jié)果號,否則返回的值可以不理會。如果失敗,返回false.。

(5)array mysql_fetch_array(結(jié)果號);

取出下一行,返回一個數(shù)組.可以用數(shù)字下標訪問(第一個字段是下標 0),也可以用字符串下標訪問(即使用各字段名)。如已取了最后一行,返回 false.。

(6)mysql_fetch_row(結(jié)果號);

返回一個矩陣代表結(jié)果集中一行的所有域。每次調(diào)用都會產(chǎn)生下一行,直到?jīng)]有行剩下時返回false。每個域值都由一個從零開始的偏移量索引。這是從查詢中獲取結(jié)果的最快方法。

(7)integer mysql_num_rows(結(jié)果號);

返回結(jié)果集中行的數(shù)目

(8)integer mysql_num_fields(結(jié)果號);

返回結(jié)果集中域的數(shù)目。

(9)integer mysql_list_dbs();

向服務器查詢數(shù)據(jù)庫列表。它返回一個結(jié)果指針,該指針可用于mysql_fetch_row函數(shù)及類似函數(shù)。

(10)mysql_list_tables(數(shù)據(jù)庫名);

獲取一個指向指定數(shù)據(jù)庫的表單列表的結(jié)果指針。該結(jié)果指針可用于任何從結(jié)果集中獲取行的函數(shù)。

(11)mysql_close(連接號);

關(guān)閉對數(shù)據(jù)庫的連接。連接必須是由mysql_connect打開的。該函數(shù)的使用不是嚴格必需的,因為在腳本結(jié)束時,所有非永久鏈路都會被自動關(guān)閉。

(12)mysql_pconnect(主機,用戶名,口令);

與mysql_connect完全相似,但建立一個"永久連接",該連接一經(jīng)建立永不關(guān)閉,即使使用mysql_close函數(shù)或程序執(zhí)行完畢也不關(guān)閉.下一次試圖建立永久連接時,系統(tǒng)如發(fā)現(xiàn)已存在一個永久連接,則直接返回該連接號而不重新創(chuàng)建。

下面是一個調(diào)用MYSQL數(shù)據(jù)庫并分頁顯示的例子。

?

$pagesize = 5; //每頁顯示5條記錄

$host="localhost";

$user="user";

$password="psw";

$dbname="book"; //所查詢的庫表名;

//連接MySQL數(shù)據(jù)庫

mysql_connect("$host","$user","$password") or die("無法連接MySQL數(shù)據(jù)庫服務器!");

$db = mysql_select_db("$dbname") or die("無法連接數(shù)據(jù)庫!");

$sql = "select count(*) as total from pagetest";//生成查詢記錄數(shù)的SQL語句

$rst = mysql_query($sql) or die("無法執(zhí)行SQL語句:$sql !"); //查詢記錄數(shù)

$row = mysql_fetch_array($rst) or die("沒有更多的記錄!"); /取出一條記錄

$rowcount = $row["total"];//取出記錄數(shù)

mysql_free_result($rst) or die("無法釋放result資源!"); //釋放result資源

$pagecount = bcdiv($rowcount+$pagesize-1,$pagesize,0);//算出總共有幾頁

if(!isset($pageno)) {

$pageno = 1; //在沒有設(shè)置pageno時,缺省為顯示第1頁

}

if($pageno1) {

$pageno = 1; //若pageno比1小,則把它設(shè)置為1

}

if($pageno$pagecount) {

$pageno = $pagecount; //若pageno比總共的頁數(shù)大,則把它設(shè)置為最后一頁

}

if($pageno0) {

$href = eregi_replace("%2f","/",urlencode($PHP_SELF));//把$PHP_SELF轉(zhuǎn)換為可以在URL上使用的字符串,這樣的話就可以處理中文目錄或中文文件名

if($pageno1){//顯示上一頁的褳接

echo "a href="" . $href . "?pageno=" . ($pageno-1) . ""上一頁/a ";

}

else{

echo "上一頁";

}

for($i=1;$i$pageno;$i++){

echo "a href="" . $href . "?pageno=" . $i . """ . $i . "/a ";

}

echo $pageno . " ";

for($i++;$i=$pagecount;$i++){

echo "a href="" . $href . "?pageno=" . $i . """ . $i . "/a ";

}

if($pageno$pagecount){//顯示下一頁的褳接

echo "a href="" . $href . "?pageno=" . ($pageno+1) . ""下一頁/a ";

}

else{

echo "下一頁 ";

}

$offset = ($pageno-1) * $pagesize;//算出本頁第一條記錄在整個表中的位置(第一條記錄為0)

$sql = "select * from pagetest LIMIT $offset,$pagesize";//生成查詢本頁數(shù)據(jù)的SQL語句

$rst = mysql_query($sql);//查詢本頁數(shù)據(jù)

$num_fields = mysql_num_fields($rst);//取得字段總數(shù)

$i = 0;

while($i$num_fields){//取得所有字段的名字

$fields[$i] = mysql_field_name($rst,$i);//取得第i+1個字段的名字

$i++;

}

echo "table border="1" cellspacing="0" cellpadding="0"";//開始輸出表格

echo "tr";

reset($fields);

while(list(,$field_name)=each($fields)){//顯示字段名稱

echo "th$field_name/th";

}

echo "/tr";

while($row=mysql_fetch_array($rst)){//顯示本頁數(shù)據(jù)

echo "tr";

reset($fields);

while(list(,$field_name)=each($fields)){//顯示每個字段的值

$field_value = $row[$field_name];

if($field_value==""){

echo "td /td";

}

else{

echo "td$field_value/td";

}

}

echo "/tr";

}

echo "/table";//表格輸出結(jié)束

mysql_free_result($rst) or die("無法釋放result資源!");//釋放result資源

}

else{

echo "目前該表中沒有任何數(shù)據(jù)!";

}

mysql_close($server) or die("無法與服務器斷開連接!");//斷開連接并釋放資源

?

開放數(shù)據(jù)庫連接(ODBC)已成為一種與數(shù)據(jù)庫進行通信的工業(yè)標準。PHP也提供了標準的接口,使得PHP能調(diào)用Access,SQL SERVER等數(shù)據(jù)庫。其相關(guān)函數(shù)是:

(1)integer odbc_connect(string dsn, string user, string password)

連接到一個ODBC數(shù)據(jù)庫源名字上。

(2)integer odbc_exec(integer connection, string query)或 odbc_do(integer connection, string query)

在一個連接上執(zhí)行查詢。

(3)boolean odbc_fetch_row(integer result, integer row)

從一個結(jié)果集中獲取一行數(shù)據(jù)。Row參數(shù)是可選的,若為空缺,則返回下一個有效行。在結(jié)果集中不再剩余行時返回false。

(4)boolean odbc_close(integer connection)

關(guān)閉一個數(shù)據(jù)庫的連接。若在該連接上有打開的事務,則返回一個錯誤,而且連接不會被關(guān)閉。

最后,還是看個分頁的例子:

?

//設(shè)定每頁顯示條數(shù)

$show_num = 10;

$spages = $pages;//避免$pages后期被改變

//定義連接

$dsn = "localhost";

$user = "sa";

$password = "";

//計算總記錄數(shù)

$rs_num = "select count(*) as id from bbs where zu='0' and lei='".$lei."'";

$conn_id = odbc_connect($dsn,$user,$password);

$rnum = odbc_exec($conn_id,$rs_num);

while(odbc_fetch_row($rnum)){

$total_rs = odbc_result($rnum,"id");//將總記錄數(shù)放入$total_rs變量

}

//計算與頁有關(guān)的條數(shù)

$nnn = $total_rs / $show_num;//計算總頁數(shù)

$hnnn = intval($nnn);//將總頁數(shù)取整

$cnnnn = $nnn - $hnnn;

//計算所需總頁數(shù)

switch ($cnnn){

case "0":

$hnnn++;

$nnn = $hnnn;//總頁數(shù)

break;

default :

$nnn = $hnnn;//總頁數(shù)

break;

};

if ($nnn == 0)$nnn++;

//計算頁面改變所需的條件

$fore = $pages;

$next = $pages;

$fore -= 1;

$next += 1;

if ($fore 0) {

echo "a首頁/a";

echo "a前頁/a";

};

if ($pages $nnn) {

echo "a后頁/a";

echo "a尾頁/a";

};

echo "共".$nnn."頁";

$query_string = "SELECT * FROM table where condition order by you wanted order";

$cur = odbc_exec($conn_id,$query_string);

//取到循環(huán)的頂部

$cnum = ($pages-1) * $show_num;//計算當前的記錄游標的位置

//空循環(huán)到顯示記錄游標處

if ($cnum != 0){

for ($i=0;$i=$cnum;odbc_fetch_row($cur));

};

$i=1;

//顯示記錄

while(odbc_fetch_row($cur)){

echo ;

if ($i == $show_num){//在不滿頁數(shù)時跳出程序

break;

};

$i++;

};

//關(guān)閉連接

odbc_close($conn_id);

?

Oracle(甲骨文)是世界上最為流行的關(guān)系數(shù)據(jù)庫。它是大公司推崇的工業(yè)化的強有力的引擎。我們先看看其相關(guān)的函數(shù):

(1)integer ora_logon(string user , string password)

開始對一個Oracle數(shù)據(jù)庫服務器的連接。

(2)integer ora_open(integer connection)

打開給出的連接的游標。

(3)integer ora_do(integer connection, string query)

在給出的連接上執(zhí)行查詢。PHP生成一個指示器,解析查詢,并執(zhí)行之。

(4)integer ora_parse(integer cursor, string query)

解析一個查詢并準備好執(zhí)行。

(5)boolean ora_exec(integer cursor)

執(zhí)行一個先前由ora_parse函數(shù)解析過的查詢。

(6)boolean ora_fetch(integer cursor)

此函數(shù)會使得一個執(zhí)行過的查詢中的行被取到指示器中。這使得您可以調(diào)用ora_getcolumn函數(shù)。

(7)string ora_getcolumn(integer cursor, integer column)

返回當前的值。列由零開始的數(shù)字索引。

(8)boolean ora_logoff(integer connection)

斷開對數(shù)據(jù)庫服務器的鏈接。

以下是向ORACLE數(shù)據(jù)庫插入數(shù)據(jù)的示例程序:

html

headtitle向ORACLE數(shù)據(jù)庫中插入數(shù)據(jù)/title/head

body

form action="?echo $PHP_SELF;?" method="post"

table border="1" cellspacing="0" cellpadding="0"

tr

thID/th

thname/th

thDescription/th

/tr

tr

tdinput type="text" name="name" maxlength="50" size="10"/td

tdinput type="text" name="email" maxlength="255" size="30"/td

tdinput type="text" name="Description" maxlength="255" size="50"/td

/tr

tr align="center"

td colspan="3"input type="submit" value="提交"??input type="reset" value="重寫"/td

/tr

/table

/form

?

//先設(shè)置兩個環(huán)境變量ORACLE_HOME,ORACLE_SID

putenv("ORACLE_HOME=/oracle/app/oracle/product/8.0.4");

putenv("ORACLE_SID=ora8");

//設(shè)置網(wǎng)頁顯示中文

putenv("NLS_LANG=Simplified_Chinese.zhs16cgb231280");

if($connection=ora_logon("scott","tiger")) {

//庫表test有ID,name,Description三項

$sql = 'insert into test(ID,name,Description) values ';

$sql .= '('' . $ID . '','' . $name . '',''. $Description . '')';

if($cursor=ora_do($connect,$sql)) {

print("insert finished!");

}

$query = 'select * from test';

if($cursor=ora_do($connect,$query)) {

ora_fetch($cursor);

$content0=ora_getcolumn($cursor,0);

$content1=ora_getcolumn($cursor,1);

$content2=ora_getcolumn($cursor,2);

print("$content0");

print("$content1");

print("$content2");

ora_close($cursor);

}

ora_logoff($connection);

}

?

/body

/html

通過PHP你可以輕松的連接到數(shù)據(jù)庫,請求數(shù)據(jù)并將其顯示在你的web站點中,甚至修改數(shù)據(jù)庫中的數(shù)據(jù)。 MySQL是一種很流行的數(shù)據(jù)庫,并且在互聯(lián)網(wǎng)中有許多有關(guān)PHP與MySQL的教程。MySQL是免費的,這一點也許就吸引了不少人。由于其廣泛應用, 我就不想在這里贅述MySQL的使用方法了。Oracle被大量在企業(yè)應用中采用,因此我們就利用Oracle來介紹PHP與數(shù)據(jù)庫的連接。我們當然不會 提及Oracle數(shù)據(jù)庫的設(shè)計原理,原因是這已經(jīng)超出了我們的討論范圍。

PHP提供了兩套函數(shù)與Oracle連接,分別是ORA_和OCI函數(shù)。其中ORA_函數(shù)略顯陳舊。OCI函數(shù)更新?lián)f更好一些。兩者的使用語法幾乎相差無幾。如前所述,你的PHP安裝選項應該可以支持兩者的使用。

想獲得更多有關(guān)在Microsoft Windows平臺上安裝支持PHP3的Apache服務器的知識以及更多有關(guān)Oracle數(shù)據(jù)庫的知識,請查閱以下URL:。

4.1 連接

if ($conn=Ora_Logon("user@TNSNAME","password"))

{

echo "SUCCESS ! Connected to database\n";

}

else

{

echo "Failed :-( Could not connect to database\n";

}

Ora_Logoff($conn);

phpinfo();

?

以上代碼使用TNSNAME(在你的tnsnames.ora文件中指明)定義的Oracle數(shù)據(jù)庫名稱、用戶名稱和密碼連接數(shù)據(jù)庫。在成功連接的基礎(chǔ)上,ora_logon函數(shù)返回一個非零的連接ID并儲存在變量$conn中。

4.2 查詢

假設(shè)與數(shù)據(jù)庫已經(jīng)連接就緒,下面我們就來實際的應用對數(shù)據(jù)庫的查詢。下面的代碼演示了一個連接并查詢的典型例子:

/*

* 連接數(shù)據(jù)庫并執(zhí)行查詢

*/

function printoraerr($in_cur)

{

// 檢查Oracle是否出錯

// 如果存在錯誤則顯示

// 當指針被激活時每次請求Oracle后調(diào)用該函數(shù)

if(ora_errorcode($in_cur))

echo "Oracle code - ".ora_error($in_cur)."\n";

return;

}

/** 主程序 */

if (!($conn=ora_logon("user@TNSNAME","password")))

{

echo "Connection to database failed\n";

exit;

}

echo "Connected as connection - $conn

\n";

echo "Opening cursor ...

\n";

$cursor=ora_open($conn); printoraerr($cursor);

echo "Opened cursor - $cursor

\n";

$qry="select user,sysdate from dual";

echo "Parsing the query $qry ...

\n";

ora_parse($cursor,$qry,0); printoraerr($cursor);

echo "Query parsed

\n";

echo "Executing cursor ...

\n";

ora_exec($cursor); printoraerr($cursor);

echo "Executed cursor

\n";

echo "Fetching cursor ...

\n";

while(ora_fetch($cursor))

{

$user=ora_getcolumn($cursor,0); printoraerr($cursor);

$sysdate=ora_getcolumn($cursor,1); printoraerr($cursor);

echo " row = $user, $sysdate

\n";

}

echo "Fetched all records

\n";

echo "Closing cursor ...

\n";

ora_close($cursor);

echo "Closed cursor

\n";

echo "Logging off from oracle...

\n";

ora_logoff($conn);

echo "Logged off from oracle

\n";

?

(譯者注:以上代碼段缺少注釋,請讀者參考PHP Manual的Oracle數(shù)據(jù)庫函數(shù)部分)

4.3 顯示結(jié)果

以下代碼演示了怎樣查詢數(shù)據(jù)庫并將結(jié)果輸出:

function printoraerr($in_cur, $conn)

{

// 檢查Oracle是否出錯

// 如果存在錯誤則顯示

// 當指針被激活時每次請求Oracle后調(diào)用該函數(shù)

// If it encountered an error, we exit immediately

if(ora_errorcode($in_cur))

{

echo "Oracle code - ".ora_error($in_cur)."

n";

ora_logoff($conn);

exit;

}

return;

}

function exequery($w_qry,$conn)

{

$cursor=ora_open($conn); printoraerr($cursor,$conn);

ora_parse($cursor,$w_qry,0); printoraerr($cursor,$conn);

ora_exec($cursor); printoraerr($cursor,$conn);

$numrows=0;

$w_numcols=ora_numcols($cursor);

// 顯示頭部

echo "

\n";

for ($i=0;$i$w_numcols;$i++)

{

$align=(ora_columntype($cursor,$i)=="NUMBER")?"RIGHT":"LEFT";

echo "\t ".ora_columnname($cursor,$i)." \n";

}

echo "

\n";

while(ora_fetch($cursor))

{

echo " \n";

for ($i=0;$i$w_numcols;$i++)

{

$align=(ora_columntype($cursor,$i)=="NUMBER")?"RIGHT":"LEFT";

if(ora_columntype($cursor,$i)=="LONG")

echo " ".

ora_getcolumn($cursor,$i)."

\n";

else

echo " ".ora_getcolumn($cursor,$i)." \n";

printoraerr($cursor,$conn);

}

$numrows++;

echo "

\n";

}

if ($numrows==0)

echo " Query returned no records

\n";

else

{

echo " \n";

echo " Count \n";

echo " $numrows \n";

echo "

\n";

}

echo " \n";

ora_close($cursor);

return;

}

// 主程序

if(!($conn=ora_logon("user@SID","password")))

{

echo "Error: Cannot connect to database\n";

exit;

}

$qry="SELECT

deptno \"Dept\"

,empno \"Emp\"

,empnm \"Name\"

,salary \"Salary\"

FROM

employee

ORDER BY 1,2";

exequery($qry);

ora_logoff($conn);

?

(譯者注:以上代碼段缺少注釋,請讀者參考PHP Manual的Oracle數(shù)據(jù)庫函數(shù)部分)

4.4 基于HTTP的Oracle登錄

將以下代碼加在PHP頁面代碼之前以確認Oracle登錄。注意你必須正確設(shè)定$ SID。

if(!isset($PHP_AUTH_USER))

{

Header("WWW-authenticate: basic realm=\"$SID\"");

Header("HTTP/1.0 401 Unauthorized");

$title="Login Instructions";

echo "

You are not authorized to enter the site

\n";

exit;

}

else

{

if (!($conn=ora_logon("$PHP_AUTH_USER@$SID",$PHP_AUTH_PW)))

{

Header("WWW-authenticate: basic realm=\"$SID\"");

Header("HTTP/1.0 401 Unauthorized");

$title="Login Instructions";

echo "

You are not authorised to enter the site

\n";

exit;

}

}

?

php如何釋放file函數(shù)的內(nèi)存

file函數(shù)一般只占用系統(tǒng)

句柄

資源。讀取其中的內(nèi)容并保存至某個變量會占用內(nèi)存,跟file函數(shù)無關(guān)。

file函數(shù)在打開之后,需要用close關(guān)閉并釋放file句柄,否則可能會導致其他程序不能打開這個文件(文件鎖定)。

除了用alloc等函數(shù)顯式分配內(nèi)存的外,一般不需要專門

釋放內(nèi)存

,系統(tǒng)會在結(jié)束時自動回收內(nèi)存。

thinkphp對數(shù)據(jù)庫操作有哪些內(nèi)置函數(shù)

8.4.4 Model類

getModelName() 獲取當前Model的名稱

getTableName() 獲取當前Model的數(shù)據(jù)表名稱

switchModel(type,vars=array()) 動態(tài)切換模型

table() 設(shè)置當前操作的數(shù)據(jù)表

field() 設(shè)置要查詢的數(shù)據(jù)字段

where() 設(shè)置查詢或者操作條件

data(data) 設(shè)置數(shù)據(jù)對象

order(order) 設(shè)置排序

limit(limit) 查詢限制

page(page) 查詢分頁

join(join) 進行JOIN查詢

having(having) 進行having查詢

group(group) 進行g(shù)roup查詢

lock(lock) 查詢鎖定

distinct(distinct) 唯一性查詢

count(field) 記錄統(tǒng)計

sum(field) 總數(shù)查詢

min(field) 最小值查詢

max(field) 最大值查詢

avg(field) 平均值查詢

_initialize() 模型初始化方法

_facade(data) 對保存到數(shù)據(jù)庫的數(shù)據(jù)進行處理

_before_write(data) 寫入數(shù)據(jù)前的回調(diào)方法 包括新增和更新

add(data='',options=array()) 新增數(shù)據(jù)

_before_insert(data,options) 寫入數(shù)據(jù)前的回調(diào)方法

_after_insert(data,options) 寫入數(shù)據(jù)后的回調(diào)方法

selectAdd(fields='',table='',options=array()) 通過Select方式添加記錄

save(data='',options=array()) 更新數(shù)據(jù)到數(shù)據(jù)庫

_before_update(data,options) 更新數(shù)據(jù)前的回調(diào)方法

_after_update(data,options) 更新成功后的回調(diào)方法

delete(options=array()) 刪除數(shù)據(jù)

_after_delete(data,options) 刪除成功后的回調(diào)方法

select(options=array()) 查詢數(shù)據(jù)集

_after_select(resultSet,options) 查詢成功后的回調(diào)方法

findAll(options=array()) select方法的別名

_options_filter(options) 表達式過濾回調(diào)方法

find(options=array()) 查詢數(shù)據(jù)

_after_find(result,options) 查詢成功的回調(diào)方法

setField(field,value,condition='') 設(shè)置記錄的某個字段值

setInc(field,condition='',step=1) 字段值增長

setDec(field,condition='',step=1) 字段值減少

getField(field,condition='',sepa=' ') 獲取某個字段值

create(data='',type='') 創(chuàng)建數(shù)據(jù)對象

autoCheckToken(data) 表單令牌驗證

query(sql) 執(zhí)行原生SQL查詢

execute(sql='') 執(zhí)行原生SQL操作

startTrans() 啟動事務

commit() 提交事務

rollback() 事務回滾

getError() 獲取模型的錯誤信息

getDbError() 獲取數(shù)據(jù)庫的錯誤信息

getLastInsID() 獲取最后執(zhí)行的SQL語句

getPk() 獲取主鍵名稱

getDbFields() 獲取數(shù)據(jù)表的字段信息

regex(value,rule) 使用正則驗證數(shù)據(jù)

setProperty(name,value) 設(shè)置模型的屬性值

2.1版新增方法:

db(linkNum,config='') 切換當前數(shù)據(jù)庫連接

高級模型類AdvModel

topN(count,options=array()) 查詢滿足條件的前N個記錄

getN(position=0,options=array()) 查詢符合條件的第N條記錄

0 表示第一條記錄 -1 表示最后一條記錄

first(options=array()) 獲取滿足條件的第一條記錄

last(options=array()) 獲取滿足條件的最后一條記錄

returnResult(data,type='') 返回指定的數(shù)據(jù)類型

setLazyInc(field,condition='',step=1,lazyTime=0) 字段值延遲增長

setLazyDec(field,condition='',step=1,lazyTime=0) 字段值延遲減少

addConnect(config,linkNum=NULL) 增加數(shù)據(jù)庫連接

delConnect(linkNum) 刪除數(shù)據(jù)庫連接

closeConnect(linkNum) 關(guān)閉數(shù)據(jù)庫連接

switchConnect(linkNum,name='') 切換數(shù)據(jù)庫連接

patchQuery(sql=array()) 批處理執(zhí)行SQL語句

getPartitionTableName(data=array()) 得到分表的的數(shù)據(jù)表名

php 常用的數(shù)組函數(shù)都有哪些? 作用是什么?有什么特點? 怎么使用?

php常用的數(shù)組函數(shù)的作用特點如下:

array_change_key_case ? ????-- 返回字符串鍵名全為小寫或大寫的數(shù)組

array_chunk ? ? ? ? ? ? ????-- 將一個數(shù)組分割成多個

array_combine ? ? ? ? ? -- 創(chuàng)建一個數(shù)組,用一個數(shù)組的值作為其鍵名,另一個數(shù)組的值作為其值

array_count_values ? ? ?-- 統(tǒng)計數(shù)組中所有的值出現(xiàn)的次數(shù)

array_diff_assoc ? ? ? ?-- 帶索引檢查計算數(shù)組的差集

array_diff_key ? ? ? ? ?-- 使用鍵名比較計算數(shù)組的差集

array_diff_uassoc ? ? ? -- 用用戶提供的回調(diào)函數(shù)做索引檢查來計算數(shù)組的差集

array_diff_ukey ? ? ? ? -- 用回調(diào)函數(shù)對鍵名比較計算數(shù)組的差集

array_diff ? ? ? ? ? ? ?-- 計算數(shù)組的差集

array_fill_keys ? ? ? ? -- 使用指定的鍵和值填充數(shù)組

array_fill ? ? ? ? ? ? ?-- 用給定的值填充數(shù)組

array_filter ? ? ? ? ? ?-- 用回調(diào)函數(shù)過濾數(shù)組中的單元

array_flip ? ? ? ? ? ? ?-- 交換數(shù)組中的鍵和值

array_intersect_assoc ? -- 帶索引檢查計算數(shù)組的交集

array_intersect_key ? ? -- 使用鍵名比較計算數(shù)組的交集

array_intersect_uassoc ?-- 帶索引檢查計算數(shù)組的交集,用回調(diào)函數(shù)比較索引

array_intersect_ukey ? ?-- 用回調(diào)函數(shù)比較鍵名來計算數(shù)組的交集

array_intersect ? ? ? ? -- 計算數(shù)組的交集

array_key_exists ? ? ? ?-- 檢查給定的鍵名或索引是否存在于數(shù)組中

array_keys ? ? ? ? ? ? ?-- 返回數(shù)組中所有的鍵名

array_map ? ? ? ? ? ? ? -- 將回調(diào)函數(shù)作用到給定數(shù)組的單元上

array_merge_recursive ? -- 遞歸地合并一個或多個數(shù)組

array_merge ? ? ? ? ? ? -- 合并一個或多個數(shù)組

array_multisort ? ? ? ? -- 對多個數(shù)組或多維數(shù)組進行排序

array_pad ? ? ? ? ? ? ? -- 用值將數(shù)組填補到指定長度

array_pop ? ? ? ? ? ? ? -- 將數(shù)組最后一個單元彈出(出棧)

array_product ? ? ? ? ? -- 計算數(shù)組中所有值的乘積

array_push ? ? ? ? ? ? ?-- 將一個或多個單元壓入數(shù)組的末尾(入棧)

array_rand ? ? ? ? ? ? ?-- 從數(shù)組中隨機取出一個或多個單元

array_reduce ? ? ? ? ? ?-- 用回調(diào)函數(shù)迭代地將數(shù)組簡化為單一的值

array_replace_recursive -- 使用傳遞的數(shù)組遞歸替換第一個數(shù)組的元素

array_replace ? ? ? ? ? -- 使用傳遞的數(shù)組替換第一個數(shù)組的元素

array_reverse ? ? ? ? ? -- 返回一個單元順序相反的數(shù)組

array_search ? ? ? ? ? ?-- 在數(shù)組中搜索給定的值,如果成功則返回相應的鍵名

array_shift ? ? ? ? ? ? -- 將數(shù)組開頭的單元移出數(shù)組

array_slice ? ? ? ? ? ? -- 從數(shù)組中取出一段

array_splice ? ? ? ? ? ?-- 把數(shù)組中的一部分去掉并用其它值取代

array_sum ? ? ? ? ? ? ? -- 計算數(shù)組中所有值的和

array_udiff_assoc ? ? ? -- 帶索引檢查計算數(shù)組的差集,用回調(diào)函數(shù)比較數(shù)據(jù)

array_udiff_uassoc ? ? ?-- 帶索引檢查計算數(shù)組的差集,用回調(diào)函數(shù)比較數(shù)據(jù)和索引

array_udiff ? ? ? ? ? ? -- 用回調(diào)函數(shù)比較數(shù)據(jù)來計算數(shù)組的差集

array_uintersect_assoc ?-- 帶索引檢查計算數(shù)組的交集,用回調(diào)函數(shù)比較數(shù)據(jù)

array_uintersect_uassoc -- 帶索引檢查計算數(shù)組的交集,用回調(diào)函數(shù)比較數(shù)據(jù)和索引

array_uintersect ? ? ? ?-- 計算數(shù)組的交集,用回調(diào)函數(shù)比較數(shù)據(jù)

array_unique ? ? ? ? ? ?-- 移除數(shù)組中重復的值

array_unshift ? ? ? ? ? -- 在數(shù)組開頭插入一個或多個單元

array_values ? ? ? ? ? ?-- 返回數(shù)組中所有的值

array_walk_recursive ? ?-- 對數(shù)組中的每個成員遞歸地應用用戶函數(shù)

array_walk ? ? ? ? ? ? ?-- 對數(shù)組中的每個成員應用用戶函數(shù)

array ? ? ? ? ? ? ? ? ? -- 新建一個數(shù)組

arsort ? ? ? ? ? ? ? ? ?-- 對數(shù)組進行逆向排序并保持索引關(guān)系

asort ? ? ? ? ? ? ? ? ? -- 對數(shù)組進行排序并保持索引關(guān)系

compact ? ? ? ? ? ? ? ? -- 建立一個數(shù)組,包括變量名和它們的值

count ? ? ? ? ? ? ? ? ? -- 計算數(shù)組中的單元數(shù)目或?qū)ο笾械膶傩詡€數(shù)

current ? ? ? ? ? ? ? ? -- 返回數(shù)組中的當前單元

each ? ? ? ? ? ? ? ? ? ?-- 返回數(shù)組中當前的鍵/值對并將數(shù)組指針向前移動一步

end ? ? ? ? ? ? ? ? ? ? -- 將數(shù)組的內(nèi)部指針指向最后一個單元

extract ? ? ? ? ? ? ? ? -- 從數(shù)組中將變量導入到當前的符號表

in_array ? ? ? ? ? ? ? ?-- 檢查數(shù)組中是否存在某個值

key ? ? ? ? ? ? ? ? ? ? -- 從關(guān)聯(lián)數(shù)組中取得鍵名

krsort ? ? ? ? ? ? ? ? ?-- 對數(shù)組按照鍵名逆向排序

ksort ? ? ? ? ? ? ? ? ? -- 對數(shù)組按照鍵名排序

list ? ? ? ? ? ? ? ? ? ?-- 把數(shù)組中的值賦給一些變量

natcasesort ? ? ? ? ? ? -- 用“自然排序”算法對數(shù)組進行不區(qū)分大小寫字母的排序

natsort ? ? ? ? ? ? ? ? -- 用“自然排序”算法對數(shù)組排序

next ? ? ? ? ? ? ? ? ? ?-- 將數(shù)組中的內(nèi)部指針向前移動一位

pos ? ? ? ? ? ? ? ? ? ? -- current 的別名

prev ? ? ? ? ? ? ? ? ? ?-- 將數(shù)組的內(nèi)部指針倒回一位

range ? ? ? ? ? ? ? ? ? -- 建立一個包含指定范圍單元的數(shù)組

reset ? ? ? ? ? ? ? ? ? -- 將數(shù)組的內(nèi)部指針指向第一個單元

rsort ? ? ? ? ? ? ? ? ? -- 對數(shù)組逆向排序

shuffle ? ? ? ? ? ? ? ? -- 將數(shù)組打亂

sizeof ? ? ? ? ? ? ? ? ?-- count 的別名

sort ? ? ? ? ? ? ? ? ? ?-- 對數(shù)組排序

uasort ? ? ? ? ? ? ? ? ?-- 使用用戶自定義的比較函數(shù)對數(shù)組中的值進行排序并保持索引關(guān)聯(lián)

uksort ? ? ? ? ? ? ? ? ?-- 使用用戶自定義的比較函數(shù)對數(shù)組中的鍵名進行排序

usort ? ? ? ? ? ? ? ? ? -- 使用用戶自定義的比較函數(shù)對數(shù)組中的值進行排序

關(guān)于如何使用,那是要根據(jù)使用者需求來衡量,不能一言概括

使用語法如下:

?php

$arr?=?array('Hello','World!');

$arr?=?implode(',',$arr);

echo?$arr;

?

結(jié)果是:HelloWorld!

如果你想更多的了解php的數(shù)組函數(shù),我建議你詳細地去看看php手冊

php手冊官網(wǎng):

用自己的語言說出php中數(shù)組的常用函數(shù)和用法?

array_filter : 過濾數(shù)組中的無效元素,可以使用回調(diào)函數(shù)過濾

array_map : 使用回調(diào)函數(shù)依次處理所有元素

implode: 將一維數(shù)組轉(zhuǎn)為特定符號隔開的字符串,

explode:? 將特定符號隔開的字符串轉(zhuǎn)為一維數(shù)組

sort /ksort: 將數(shù)組進行升序排序

array_unique: 將數(shù)組元素去重

array_values:? 取數(shù)組的值,重新組成新數(shù)組

array_pop: 取數(shù)組末尾元素并刪除(隊列)

array_push:將一個元素插入數(shù)組末尾(隊列)

array_sum:統(tǒng)計數(shù)組元素的和

array_column:將二維數(shù)組中的指定KEY取出組成一個一維數(shù)組

網(wǎng)頁鏈接


網(wǎng)頁名稱:php釋放數(shù)據(jù)集的函數(shù),php處理大量數(shù)據(jù)
文章轉(zhuǎn)載:http://weahome.cn/article/hecphs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部