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.12多次生成一个字符串
下一篇:5.14转换字符串到数组