php查询字符串对比代码,PHP查询字符串技巧分享_php

对于一个经验丰富的php程序员来说,实现字符串的查询功能已经不是什么难事了。在这里我们将会介绍一种PHP查询字符串的捷径技巧,供大家参考。

RL传递变量对于程序员来说已经是司空见惯的事情,很多人会因此认为本文毫无新意。我们把通过URL传递变量的方式称作GET方式,另外一种是POST方式。这两种方式在PHP中都非常容易实现。举个例子,假设准备进行数据库查询,需要通过GET传递三个变量:city、id和paid。

传统的PHP查询字符串方法是象下面的例子那样构造查询字符串:

/* assume we want to pass this

variables */

$city_name = "new york";

$invoice_id = 3456;

$paid = 1;

$query_string = "city={$city_name}

http://www.gaodaima.com/?p=49830PHP查询字符串技巧分享_php

&id={$invoice_id}&paid={$paid}";

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

$query_string;

如今大部分PHP开发者都已经习惯于上面这种方法。它在只有三四个变量的时候毫无问题,但是再增加变量的话,代码

将变得难以理解和维护,并容易引入细微的错误。

传递GET变量的最佳方式是通过PHP5中引入的http_build_query函数,它接收一个数组参数,返回一个格式正确、经过

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

在上面这个PHP查询字符串例子中,数组包含了变量名和变量值。你也可以传入只含变量值的数组,函数会使用你提供的变量名(通

过函数的第二个参数传入)加上数组的索引值构造变量名。比如说你要传递六个城市名,可以象下面这么做。

$fields = array('paris',

'new york',

'florence',

'london',

'berlin',

'delhi');

$url = "http:/

/www.example.php?" .

http_build_query($fields,

'city', "&");

产生的url如下:

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

(译注:如果数组元素的key不是默认的整数,那么key就作为对应值的变量名,而象上面例子,数组的key是默认的整数,那么

变量名是函数第二个参数加上元素的key,所以第一个变量名就是city0)

PHP查询字符串函数的第三个参数是可选参数,表示变量的分隔符,默认值是‘&’。不过我更喜欢显式的传入这个‘&’分隔符。

此外还可以传入一个复杂的数组:

$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()确实可以简化GET进行PHP查询字符串的构造。

欢迎大家阅读《PHP查询字符串技巧分享_php》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码

原创文章,转载请注明: 转载自搞代码

e7ce419cf2d6ad34d01da2ceb8829eed.png

微信 赏一包辣条吧~

023a57327877fb4402bcc76911ec18ea.png

支付宝 赏一听可乐吧~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值