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