首頁  >  文章  >  後端開發  >  PHP陣列與字串相互轉換

PHP陣列與字串相互轉換

黄舟
黄舟原創
2017-05-04 10:38:0310127瀏覽

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);                //输出数组元素
?>

輸出結果為:

PHP陣列與字串相互轉換

在開發一個投票管理系統時,經常需要在後台新增投票選項到投票系統,以作為投票的內容。下面使用 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 &#39;<input type="checkbox" name="checkbox" value="checkbox">&#39;;
        echo $value."\n";
    }
}
?>

(4) 在瀏覽器中輸入地址,按回車鍵,輸入投票選項的內容,各選項之間使用“*”進行分割,單擊“提交”,運行結果如下

PHP陣列與字串相互轉換

PHP陣列與字串相互轉換

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);  //以空格作为分隔符将数组中的元素组合成一个新的字符串
?>

輸出結果為:

PHP陣列與字串相互轉換

【相關教學推薦】

1. 相關專題推薦:《php陣列(Array)


以上是PHP陣列與字串相互轉換的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn