PHP从入门到精通(第4版)(软件开发视频大讲堂)
上QQ阅读APP看书,第一时间看更新

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