這篇文章主要介紹“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)造查詢字符串:
/* assume we want to pass this
variables */
$city_name = "new york";
$invoice_id = 3456;
$paid = 1;
$query_string = "city={$city_name}
&id={$invoice_id}&paid={$paid}";
$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查詢字符串例子。
$city_name = "new york";
$invoice_id = 3456;
$paid = 1;
$fields = array('city' =>
$city_name,'id' => $invoice_id,
'paid' => $paid);
$url = "http://www.example.com?" .
http_build_query($fields, '', "&");
在上面這個(gè)PHP查詢字符串例子中,數(shù)組包含了變量名和變量值。你也可以傳入只含變量值的數(shù)組,函數(shù)會(huì)使用你提供的變量名(通
過函數(shù)的第二個(gè)參數(shù)傳入)加上數(shù)組的索引值構(gòu)造變量名。比如說你要傳遞六個(gè)城市名,可以象下面這么做。
$fields = array('paris',
'new york',
'florence',
'london',
'berlin',
'delhi');
$url = "http:/
/www.example.php?" .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ù)組:
$city_name = "new york";
$invoice_id = 3456;
$currency_name = "euro";
$total = 345;
$receipt_no = "fgf44545";
$fields = array('city' =>
$city_name,'id' => $invoice_id,
'paid' => array('currency' =>
$currency_name,'amount' => $total,
'receipt' => $receipt_no)
);
$url = "http://www.example.php?" .
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)