您当前的位置:首页 > 文章教程 > 计算机与互联网 > 网络编程

5.13将字符串分析到变量

5.13将字符串分析到变量

5.13 将字符串分析到变量

本小节所说的分析字符串是指分析URL中的查询字符串。例如一个URL是:http://www.somesite.com/index.php?i=000&key=1a2b3c&cnt=10,那么该URL的查询字符串就是i=000&key=1a2b3c&cnt=10。PHP提供函数parse_str()可以分析类似的字符,并将分析结果赋值给变量。函数parse_str()的语法如下所示。


void parse_str(string$str[,array$arr])


本函数可将URL的查询字符串参数$str解析,返回的变量名及值与查询字符串中的名称及值相对应。该函数第2个参数是一个指定的数组,是可选的。如果指定这个数组参数,那么函数parse_str()将分析字符串得到变量作为数组索引、值作为数组元素存入该数组。代码5-20很清楚地演示了该函数的用法。

代码5-20 分析字符串到变量5-20.php


01 <?php

02 $str="first=php&second[]=string+functions&second[]=useing";

03 echo"原字符串:";

04 echo"<br/>";

05 echo$str;

06

07 parse_str($str);//分析字符串

08 echo"<br/>";

09 echo"<br/>";

10

11 echo"分析结果:";

12 echo"<br/>";

13 echo"first=".$first;

14 echo"<br/>";

15 echo"second[0]=".$second[0];

16 echo"<br/>";

17 echo"second[1]=".$second[1];

18

19 parse_str($str,$input);//将分析结果保存到数组

20 echo"<br/>";

21 echo"<br/>";

22

23 echo"指定输出数组参数的结果:";

24 echo"<br/>";

25 echo"input["first"]=".$input["first"];

26 echo"<br/>";

27 echo"input["second"][0]=".$input["second"][0];

28 echo"<br/>";

29 echo"input["second"][1]=".$input["second"][1];

30 echo"<br/>";

31 ?>


【代码解析】第7行和第19行都使用了函数parse_str(),其中第7行没有带第2个参数,第19行就带来第2个参数,所以这里$input其实是一个数组,我们就可以使用第27、29行代码实现数组元素的输出。代码5-20的执行结果如图5-20所示。

图 5-20 分析字符串到变量