文章教程

5.13将字符串分析到变量

9/17/2020 9:26:54 PM 人评论 次浏览

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 分析字符串到变量

教程类别