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所示。
共有条评论 网友评论