PHP查詢字符串的技巧分享

這篇文章主要介紹“PHP查詢字符串的技巧分享”,在日常操作中,相信很多人在PHP查詢字符串的技巧分享問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”PHP查詢字符串的技巧分享”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

創(chuàng)新互聯(lián)公司主營(yíng)港南網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,重慶App定制開發(fā),港南h5微信小程序開發(fā)搭建,港南網(wǎng)站營(yíng)銷推廣歡迎港南等地區(qū)企業(yè)咨詢

RL傳遞變量對(duì)于程序員來(lái)說已經(jīng)是司空見慣的事情,很多人會(huì)因此認(rèn)為本文毫無(wú)新意。我們把通過URL傳遞變量的方式稱作GET方式,另外一種是POST方式。這兩種方式在PHP中都非常容易實(shí)現(xiàn)。舉個(gè)例子,假設(shè)準(zhǔn)備進(jìn)行數(shù)據(jù)庫(kù)查詢,需要通過GET傳遞三個(gè)變量:city、id和paid。

傳統(tǒng)的PHP查詢字符串方法是象下面的例子那樣構(gòu)造查詢字符串:

  1. /* assume we want to pass this 
    variables */  

  2. $city_name = "new york";  

  3. $invoice_id = 3456;  

  4. $paid = 1;  

  5. $query_string = "city={$city_name}
    &id={$invoice_id}&paid={$paid}";  

  6. $url = "http://www.example.com?" . 
    $query_string; 

如今大部分PHP開發(fā)者都已經(jīng)習(xí)慣于上面這種方法。它在只有三四個(gè)變量的時(shí)候毫無(wú)問題,但是再增加變量的話,代碼

將變得難以理解和維護(hù),并容易引入細(xì)微的錯(cuò)誤。

傳遞GET變量的***方式是通過PHP5中引入的http_build_query函數(shù),它接收一個(gè)數(shù)組參數(shù),返回一個(gè)格式正確、經(jīng)過

URL編碼的字符串,可以直接拼接在url中。下面是相應(yīng)的PHP查詢字符串例子。

  1. $city_name = "new york";  

  2. $invoice_id = 3456;  

  3. $paid = 1;  

  4. $fields = array('city' => 
    $city_name,  

  5. 'id' => $invoice_id,  

  6. 'paid' => $paid);  

  7. $url = "http://www.example.com?" .
     http_build_query($fields, '', "&"); 

在上面這個(gè)PHP查詢字符串例子中,數(shù)組包含了變量名和變量值。你也可以傳入只含變量值的數(shù)組,函數(shù)會(huì)使用你提供的變量名(通

過函數(shù)的第二個(gè)參數(shù)傳入)加上數(shù)組的索引值構(gòu)造變量名。比如說你要傳遞六個(gè)城市名,可以象下面這么做。

  1. $fields = array('paris',  

  2. 'new york',  

  3. 'florence',  

  4. 'london',  

  5. 'berlin',  

  6. 'delhi');  

  7. $url = "http:/
    /www.example.php?" .  

  8. http_build_query($fields,
     'city', "&"); 

產(chǎn)生的url如下:

http://www.example.php/?city0=paris&city1=new+york&city2=florence&city3=london&city4=berlin&city5=delhi

(譯注:如果數(shù)組元素的key不是默認(rèn)的整數(shù),那么key就作為對(duì)應(yīng)值的變量名,而象上面例子,數(shù)組的key是默認(rèn)的整數(shù),那么

變量名是函數(shù)第二個(gè)參數(shù)加上元素的key,所以***個(gè)變量名就是city0)

PHP查詢字符串函數(shù)的第三個(gè)參數(shù)是可選參數(shù),表示變量的分隔符,默認(rèn)值是‘&’。不過我更喜歡顯式的傳入這個(gè)‘&’分隔符。

此外還可以傳入一個(gè)復(fù)雜的數(shù)組:

  1. $city_name = "new york";  

  2. $invoice_id = 3456;  

  3. $currency_name = "euro";  

  4. $total = 345;  

  5. $receipt_no = "fgf44545";  

  6.  

  7. $fields = array('city' => 
    $city_name,  

  8. 'id' => $invoice_id,  

  9. 'paid' => array('currency' =>
     $currency_name,  

  10. 'amount' => $total,  

  11. 'receipt' => $receipt_no)   

  12. );  

  13. $url = "http://www.example.php?" .  

  14. http_build_query($fields, '', "&"); 

它將生成以下URL:

http://www.example.com?city=new+york&id=3456&paid%5Bcurrency%5D=euro&paid%5Bamount%5D=345&paid%5Breceipt%

5D=fgf44545

總而言之,http_build_query()確實(shí)可以簡(jiǎn)化GET進(jìn)行PHP查詢字符串的構(gòu)造。

到此,關(guān)于“PHP查詢字符串的技巧分享”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

文章標(biāo)題:PHP查詢字符串的技巧分享
鏈接URL:http://bm7419.com/article4/jdsooe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站策劃網(wǎng)站設(shè)計(jì)、全網(wǎng)營(yíng)銷推廣、品牌網(wǎng)站建設(shè)、域名注冊(cè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)