PHP陣列與字串相互轉換
字串與陣列的轉換在程式開發過程中經常使用,PHP 主要使用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 各元素外的所有元素。
下面實例使用explode()函數將」PHP、中文、網「字串依照「、」分隔,範例程式碼如下:
<?php header("Content-Type:text/html; charset=utf-8"); $str = "PHP、中文、网"; //定义一个字符串 $strs = explode("、","$str"); //应用 explode()函数将字符串转换成数组 print_r($strs); //输出数组元素 ?>
輸出結果為:
在開發一個投票管理系統時,經常需要在後台新增投票選項到投票系統,以作為投票的內容。下面使用 explode()函數對新增的投票選項透過「*」進行區分,然後使用 white 迴圈語句分別再也面中輸出新增的投票選項。
具體開發步驟如下:
(1)利用開發工具,新建一個 PHP 動態頁,儲存為index.php。
(2)使用HTML 標記設計面,首先建立投票表單,用於實現新增投票選項,然後使用each()函數提取全域數組$_POST 中的內容,並最終使用while 循環輸出投票選項內容。程式碼如下:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <!---------------------------------------------定义添加投票表单----------------------------------------------------> <form name="form1" method="post" action=""> <table width="400" border="1" cellpadding="0" cellspacing="1" bordercolor="#FF9900" bgcolor="#CCFF66"> <tr> <td width="98" height="120" >添加投票选项:</td> <td width="223" height="120"><p> <textarea name="content" cols="30" rows="5" id="content"></textarea> <br> <span>注意:每个选项间用*分隔</span></p> </td> <td width="61" height="120"> <input type="submit" name="submit" value="提交"> </td> </tr> </table> </form> </body> </html>
(3) 新增一個表格,然後在表格的儲存格中新增以下程式碼,用來輸出新增的投票選項。
<?php if($_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) 在瀏覽器中輸入地址,按回車鍵,輸入投票選項的內容,各選項之間使用“*”進行分割,單擊“提交”,運行結果如下
2.使用implode()函數將陣列轉換成一個字串
implode()函數將陣列的內容組合成一個新字串。
語法格式如下:
string implode(string glue,array pieces)
參數glue 是字串類型,指要傳入的分隔符號;參數piexes 是陣列類型,指被傳入的要合併元素的陣列變數名稱。
使用implode()函數將陣列中的內容以空格作分隔符號進行連接,從而組合成一個新的字串,具體範例程式碼如下:
<?php header("Content-Type:text/html; charset=utf-8"); $str=array("PHP" ,"中文","网","网址","www.php.cn"); echo implode(" ",$str); //以空格作为分隔符将数组中的元素组合成一个新的字符串 ?>
輸出結果為:
【相關教學推薦】
1. 相關專題推薦:《php陣列(Array)》
以上是PHP陣列與字串相互轉換的詳細內容。更多資訊請關注PHP中文網其他相關文章!