7.7 字符串与数组的转换
视频讲解:光盘\TM\lx\7\07 字符串与数组的转换.mp4
字符串与数组的转换在程序开发过程中经常使用,主要使用explode()函数和implode()函数实现,下面分别进行详细讲解。
1.使用explode()函数将字符串转换成数组
explode()函数将字符串依指定的字符串或字符separator切开。
语法格式如下:
array explode(string separator, string string, [int limit])
返回由字符串组成的数组,每个元素都是string的一个子串,它们被字符串separator作为边界点分隔出来。如果设置了limit参数,则返回的数组包含最多limit个元素,而最后那个元素将包含string的剩余部分;如果separator为空字符串(""), explode()函数将返回false;如果separator所包含的值在string中找不到,那么explode()函数将返回包含string单个元素的数组;如果参数limit是负数,则返回除了最后的-limit个元素外的所有元素。
【例7.8】本例使用explode()函数将“时装、休闲、职业装”字符串按照“、”进行分隔,实例代码如下:(实例位置:光盘\TM\sl\7\8)
<?php $str="时装、休闲、职业装"; //定义一个字符串 $strs=explode("、", $str); //应用explode()函数将字符串转换成数组 print r($strs); //输出数组元素 ?>
结果为:Array ( [0] => 时装 [1] => 休闲 [2] => 职业装 )
【例7.9】在开发一个投票管理系统时,经常需要在后台添加投票选项到投票系统,以作为投票的内容。下面使用explode()函数对添加的投票选项通过“*”进行区分,然后使用while循环语句分别在页面中输出添加的投票选项。(实例位置:光盘\TM\sl\7\9)
具体开发步骤如下:
(1)利用开发工具(如Dreamweaver)新建一个PHP动态页,保存为index.php。
(2)使用HTML标记设计页面。首先建立投票表单,用于实现添加投票选项,然后使用each()函数提取全局数组$_POST中的内容,并最终使用while循环输出投票选项内容。代码如下:
<! -- 定义添加投票表单------------------------> <form name="form1" method="post" action=""> <table width="400" border="1" cellpadding="0" cellspacing="1" bordercolor="#FF9900" bgcolor="#CCFF66"> <tr align="center"> <td width="98" height="120">添加投票选项:</td> <td width="223" height="120"><p> <textarea name="content" cols="30" rows="5" id="content"></textarea> <br> <span class="style1">注意:每个选项间用*分隔</span></p></td> <td width="61" height="120"><input type="Submit" name="Submit" value="提交"></td> </tr> </table> </form>
(3)添加一个表格,然后在表格的单元格中添加以下代码,用来输出添加的投票选项。
<?php if(isset($_POST['Submit']) && $_POST['Submit']! =""){ $content=$_POST['content']; $data=explode("*", $content); while(list($name, $value)=each($data)){ echo '<input type="checkbox" name="checkbox" value="checkbox">'; echo $value."\n"; } } ?>
(4)在IE浏览器中输入地址,按Enter键,输入投票选项的内容,各选项间用“*”进行分隔,单击“提交”按钮,运行结果如图7.3所示。
图7.3 在投票系统的后台管理中使用explode()函数
2.使用implode()函数将数组转换成一个新字符串
implode()函数用于将数组的内容组合成一个字符串。
语法格式如下:
string implode(string glue, array pieces)
其中,glue是字符串类型,指要传入的分隔符;pieces是数组类型,指传入的要合并元素的数组变量名称。
【例7.10】使用implode()函数将数组中的内容以空格作分隔符进行连接,从而组合成一个新的字符串,实例代码如下:(实例位置:光盘\TM\sl\7\10)
<?php
$str=array("明日", "编程词典", "网址", "www.mrbccd.com", "服务电话", "0431-84972266");
echo implode("", $str); //以空格作为分隔符将数组中的元素组合成一个新字符串
?>
结果为:明日 编程词典 网址www.mrbccd.com 服务电话 0431-84972266