自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

PHP查詢字符串技巧分享

開發(fā) 后端
這次為大家分享的這種PHP查詢字符串的技巧是通過構造GET方式來實現(xiàn)的。在本文介紹的內(nèi)容中將會對此做一個詳細的介紹。

對于一個經(jīng)驗豐富的PHP程序員來說,實現(xiàn)字符串的查詢功能已經(jīng)不是什么難事了。在這里我們將會介紹一種PHP查詢字符串的捷徑技巧,供大家參考。#t#

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

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

  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)習慣于上面這種方法。它在只有三四個變量的時候毫無問題,但是再增加變量的話,代碼

將變得難以理解和維護,并容易引入細微的錯誤。

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

URL編碼的字符串,可以直接拼接在url中。下面是相應的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, '', "&"); 

 

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

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

  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不是默認的整數(shù),那么key就作為對應值的變量名,而象上面例子,數(shù)組的key是默認的整數(shù),那么

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

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

此外還可以傳入一個復雜的數(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()確實可以簡化GET進行PHP查詢字符串的構造。

責任編輯:曹凱 來源: 網(wǎng)易博客
相關推薦

2009-12-08 16:33:45

PHP unpack函

2010-03-03 16:25:41

Python字符串顯示

2011-07-12 16:14:17

2009-11-25 09:13:41

PHP數(shù)組轉(zhuǎn)字符串PHP字符串轉(zhuǎn)數(shù)組

2009-11-24 09:55:44

PHP字符串函數(shù)

2009-12-09 17:33:22

PHP性能優(yōu)化

2009-11-27 10:24:25

PHP字符串操作

2009-11-30 14:08:42

PHP字符串原理

2010-01-05 17:43:29

JSON字符串

2009-11-18 12:38:04

PHP字符串函數(shù)

2009-12-01 10:38:08

PHP字符串函數(shù)

2009-09-13 21:52:16

LINQ字符串

2009-12-10 17:27:39

PHP操作Cookie

2009-12-10 10:30:31

PHP刪除復制文件

2009-12-18 09:52:40

Ruby字符串處理函數(shù)

2009-11-17 10:55:02

PHP字符串處理函數(shù)

2009-11-30 18:26:06

PHP字符串替換

2009-12-08 14:00:11

PHP函數(shù)microt

2009-12-10 10:24:24

PHP寫入文件

2023-12-11 07:33:05

Go語言字符技巧
點贊
收藏

51CTO技術棧公眾號