在之前的文章《怎麼拿捏PHP數組的類型》中我們詳細的介紹了PHP中的數組類型,本篇文章我們就來看一下在PHP中怎樣實現數組與字串之間的相互轉換的相關知識,希望對大家有幫助!
在PHP中最常用的兩個變數型別就是陣列與字串了,在開發的過程中,難免會遇到怎樣將字串轉換為陣列的情況,或者是數組轉換為字串的情況。
當遇到這樣的情況時,應該怎樣去解決它,這兩種變數類型這麼常見常用,PHP中還就有兩個函數能夠進行字串與陣列之間的相互轉換。那就是explode()
函數能夠完成將字串轉換為數組,implode()
函數能夠完成將數組轉換為字串。
那麼接下來我們就一起來學習這兩個函數的使用,以及怎樣去實作字串與陣列之間的相互轉換。
<strong><span style="font-size: 20px;">explode()</span></strong>
#函數-字串轉換為陣列
explode()
函數能夠使用一個字串去分割另一個字串然後傳回的結果是一個數組,explode()函數的語法格式如下:
explode($delimiter, $string [, $limit])
其中要注意的是:
想要理解這個函數的關鍵點就在於分隔符,也就是參數$delimiter
,它表示的是用來分隔字串的分隔字符,它是用來標記什麼用來變成獨立的陣列元素。參數$string
表示的是用來分隔的字串,參數$limit
是一個可選參數可以為空。
接下來我們透過範例來看explode()函數的用法,範例如下:
<?php $pizza = "piece1 piece2 piece3 piece4 piece5 piece6"; $pieces = explode(" ", $pizza); echo $pieces[0] . '<br/>'; // piece1 echo $pieces[1] . '<br/>'; // piece2 print_r($pieces); ?>
輸出結果:
##透過上述範例我們能夠發現explode()函數將一個字串轉換成了一個數組,其中函數的參數$limit在上述範例中是為空。 其中需要注意的是,當參數
$limit為
空時,函數傳回所有的陣列元素;當參數
$limit為正數的時候,傳回的陣列元素所能包含的最多的數量就是填入$limit的這個數;當參數
$limit為負數的時候則傳回除了最後的$limit 個元素外的所有元素;若參數 $limit 為0被當做1。
<?php $pizza = "piece1 piece2 piece3 piece4 piece5 piece6"; $pieces = explode(" ", $pizza); echo $pieces[0] . '<br/>'; // piece1 echo $pieces[1] . '<br/>'; // piece2 print_r($pieces); echo '<br/>'; $pieces = explode(" ", $pizza , 2); print_r($pieces); echo '<br/>'; $pieces = explode(" ", $pizza , 0); print_r($pieces); echo '<br/>'; $pieces = explode(" ", $pizza , -2); print_r($pieces); ?>
<strong>implode()<span style="max-width:90%"></span></strong>
#-陣列轉換成字串
##在PHP中透過
函數能夠將一個一維數組轉換為一個字串,該函數的語法格式如下:<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">implode($glue, $array)</pre><div class="contentsignin">登入後複製</div></div>
其中需要注意的是:
可以看做是一個膠合符,它的作用呢就是將陣列中的每個元素連接在一起,在預設的情況下參數$glue是一個空字串。參數$array
表示的就是需要轉換的字串。 接下來我們透過範例來看implode()函數的使用,範例如下:
<?php $arr = ['元素1','元素2','元素3','元素4','元素5']; $str = implode($arr); echo $str.'<br>'; ?>
輸出結果:
上述範例中,參數$glue設定為空,也就是說,這個參數可以不寫,但是如果要是寫了的話,那這個膠合符就會插在每個陣列元素中間來轉換成字串。
範例如下:
<?php $arr = ['元素1','元素2','元素3','元素4','元素5']; $str = implode($arr); echo $str.'<br>'; $str = implode(',' , $arr); echo $str.'<br>'; $str = implode('---' , $arr); echo $str.'<br>'; $str = implode('/' , $arr); echo $str ?>
輸出結果:
在上述範例中便是透過不同的參數$glue來進行數組轉換字串。
字串與陣列的相互轉換#下面我們透過範例來看陣列與字串之間的相互轉換,範例如下:
<?php $arr = ['元素1','元素2','元素3','元素4','元素5']; $str = implode($arr); echo $str.'<br>'; $arr1 = explode(" ", $str); print_r($arr1); echo '<br/>'; $str1 = implode($arr1); echo $str1.'<br>'; ?>
輸出結果:
#由上述範例我們了解了透過implode()函數與explode()函數便能夠完成數組與字串之間的相互轉換。
大家如果有興趣的話,可以點選《PHP影片教學》進行更多關於PHP知識的學習。
以上是五分鐘教你PHP中陣列與字串如何互相轉換的詳細內容。更多資訊請關注PHP中文網其他相關文章!