在之前的文章《怎么拿捏PHP數(shù)組的類型》中我們詳細的介紹了PHP中的數(shù)組類型,本篇文章我們就來看一下在PHP中怎樣實現(xiàn)數(shù)組與字符串之間的相互轉(zhuǎn)換的相關(guān)知識,希望對大家有幫助!
在PHP中最常用的兩種變量類型就是數(shù)組與字符串了,在開發(fā)的過程中,難免會遇到怎樣將字符串轉(zhuǎn)化為數(shù)組的情況,或者是數(shù)組轉(zhuǎn)化為字符串的情況。
當遇到這樣的情況時,應(yīng)該怎樣去解決它,這兩種變量類型這么常見常用,PHP中還就有兩個函數(shù)能夠進行字符串與數(shù)組之間的相互轉(zhuǎn)換。那就是explode()
函數(shù)能夠完成將字符串轉(zhuǎn)化為數(shù)組,implode()
函數(shù)能夠完成將數(shù)組轉(zhuǎn)化為字符串。
那么接下來我們就一起來學習一下這兩個函數(shù)的使用,以及怎樣去實現(xiàn)字符串與數(shù)組之間的相互轉(zhuǎn)換。
explode()
函數(shù)-字符串轉(zhuǎn)化為數(shù)組
explode()
函數(shù)能夠使用一個字符串去分割另一個字符串然后返回的結(jié)果是一個數(shù)組,explode()函數(shù)的語法格式如下:
explode($delimiter, $string [, $limit])
其中需要注意的是:
想要理解這個函數(shù)的關(guān)鍵點就在于分隔符,也就是參數(shù)$delimiter
,它表示的是用于分隔字符串的分隔字符,它是用來標記什么用來變成獨立的數(shù)組元素。參數(shù)$string
表示的是用來分隔的字符串,參數(shù)$limit
是一個可選參數(shù)可以為空。
接下來我們通過示例來看一下explode()函數(shù)的用法,示例如下:
<?php $pizza = "piece1 piece2 piece3 piece4 piece5 piece6"; $pieces = explode(" ", $pizza); echo $pieces[0] . '<br/>'; // piece1 echo $pieces[1] . '<br/>'; // piece2 print_r($pieces); ?>
輸出結(jié)果:
通過上述示例我們能夠發(fā)現(xiàn)explode()函數(shù)將一個字符串轉(zhuǎn)化成了一個數(shù)組,其中函數(shù)的參數(shù)$limit在上述示例中是為空。
其中需要注意的是,當參數(shù)$limit
為空
時,函數(shù)返回所有的數(shù)組元素;當參數(shù)$limit
為正數(shù)的時候,返回的數(shù)組元素所能包含的最多的數(shù)量就是填寫$limit的這個數(shù);當參數(shù)$limit
為負數(shù)的時候則返回除了最后的 $limit 個元素外的所有元素;若參數(shù) $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); ?>
輸出結(jié)果:
上述示例便是通過不同的$limit 參數(shù)返回的結(jié)果不同,但是通過explode()函數(shù)都成完成了字符串向數(shù)組的轉(zhuǎn)化。接下來我們看一下數(shù)組怎樣轉(zhuǎn)化為字符串。
implode()
-數(shù)組轉(zhuǎn)化為字符串
在PHP中通過implode()
函數(shù)能夠?qū)⒁粋€一維數(shù)組轉(zhuǎn)化為一個字符串,該函數(shù)的語法格式如下:
implode($glue, $array)
其中需要注意的是:$glue
可以看做是一個膠合符,它的作用呢就是將數(shù)組中的每個元素連接在一起,在默認的情況下參數(shù)$glue是一個空字符串。參數(shù)$array
表示的就是需要轉(zhuǎn)化的字符串。
接下來我們通過示例來看一下implode()函數(shù)的使用,示例如下:
<?php $arr = ['元素1','元素2','元素3','元素4','元素5']; $str = implode($arr); echo $str.'<br>'; ?>
輸出結(jié)果:
上述示例中,參數(shù)$glue設(shè)置為空,也就是說,這個參數(shù)可以不寫,但是如果要是寫了的話,那這個膠合符就會插在每個數(shù)組元素中間來進行轉(zhuǎn)化為字符串。
示例如下:
<?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 ?>
輸出結(jié)果:
上述示例中便是通過不同的參數(shù)$glue來進行數(shù)組轉(zhuǎn)換字符串。
字符串與數(shù)組的相互轉(zhuǎn)換
下面我們通過示例來看一下數(shù)組與字符串之間的相互轉(zhuǎn)換,示例如下:
<?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>'; ?>
輸出結(jié)果:
由上述示例我們了解了通過implode()函數(shù)與explode()函數(shù)便能夠完成數(shù)組與字符串之間的相互轉(zhuǎn)換。
大家如果感興趣的話,可以點擊《PHP視頻教程》進行