十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無(wú)憂售后,網(wǎng)站問(wèn)題一站解決
可以使用str_split將字符串轉(zhuǎn)為數(shù)組,str_split用法如下:
創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于做網(wǎng)站、網(wǎng)站制作、萬(wàn)州網(wǎng)絡(luò)推廣、重慶小程序開發(fā)、萬(wàn)州網(wǎng)絡(luò)營(yíng)銷、萬(wàn)州企業(yè)策劃、萬(wàn)州品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供萬(wàn)州建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:www.cdcxhl.com
str_split — 將字符串轉(zhuǎn)換為數(shù)組
array?str_split(?string?$string?[,?int?$split_length?=?1]?)
string:輸入字符串。
split_length:每一段的長(zhǎng)度。
返回值
如果指定了可選的 split_length 參數(shù),返回?cái)?shù)組中的每個(gè)元素均為一個(gè)長(zhǎng)度為 split_length的字符塊,否則每個(gè)字符塊為單個(gè)字符。
如果 split_length 小于 1,返回 FALSE。如果 split_length 參數(shù)超過(guò)了 string 超過(guò)了字符串 string 的長(zhǎng)度,整個(gè)字符串將作為數(shù)組僅有的一個(gè)元素返回。
使用示例:
$str?=?"Hello?World";
$arr?=?str_split($str);
print_r($arr);
以上代碼將輸出
Array
(
[0] = H
[1] = e
[2] = l
[3] = l
[4] = o
[5] =
[6] = W
[7] = o
[8] = r
[9] = l
[10] = d
)
以下是對(duì)php中的數(shù)組與字符串的轉(zhuǎn)換函數(shù)進(jìn)行了詳細(xì)的整理匯總,需要的朋友可以參考下
1.將一個(gè)字符串轉(zhuǎn)化為數(shù)組
str_split()用于將一個(gè)字符串轉(zhuǎn)化為數(shù)組
語(yǔ)法:
復(fù)制代碼
代碼如下:
str_split(string,length)
SPAN
style="COLOR: #333333"SPAN style="FONT-SIZE: 12px"SPAN
style="FONT-FAMILY:
宋體"http:///SPAN/SPAN/SPANstring是必須的,是要分割的字符串;SPAN
style="FONT-SIZE: 12px"SPAN style="FONT-FAMILY: 宋體; COLOR:
#333333"SPAN style="LINE-HEIGHT:
28px"
//length是可選的,規(guī)定每個(gè)數(shù)組元素的長(zhǎng)度
/SPAN/SPAN/SPAN
tips:
如果 length 小于 1,str_split() 函數(shù)將返回
false。
如果 length 大于字符串的長(zhǎng)度,整個(gè)字符串將作為數(shù)組的唯一元素返回。
例子:
復(fù)制代碼
代碼如下:
?php
$str="";
print_r(str_split($str));
?
2.字符串分割函數(shù)
explode()
函數(shù)把字符串分割為數(shù)組。
語(yǔ)法:
explode(separator,string,limit)
//separator是必須的,規(guī)定了分割分割字符串的依據(jù),例如:“
”(空格) “|”
“,”等
//string是必須的,是所要操作的字符串
//limit是可選的,規(guī)定所返回的數(shù)組元素的最大數(shù)目。
例子:
復(fù)制代碼
代碼如下:
?php
$types="doc|docx|ppt|pptx|xls|xlsx|zip|rar";
print_r(explode("|",$types));
?
3.將一個(gè)數(shù)組轉(zhuǎn)化為字符串
使用implode()
函數(shù)把數(shù)組元素組合為一個(gè)字符串
語(yǔ)法:
復(fù)制代碼
代碼如下:
PREimplode(separator,array)/PRE//seperator是可選的,規(guī)定數(shù)組元素之間放置的內(nèi)容,默認(rèn)是“”(空字符串)BR
//array是必須的,是要結(jié)合成字符串的數(shù)組BR
PRE/PRE
tips:雖然
EMseparator/EM 參數(shù)是可選的。但是為了向后兼容,推薦您使用使用兩個(gè)參數(shù)。implode()
可以接收兩種參數(shù)順序。但是由于歷史原因,explode() 是不行的。你必須保證
EMseparator/EM 參數(shù)在
EMstring/EM 參數(shù)之前才行。例子:PRE class=php
name="code"?php
$arr =
array('Hello','World!','Beautiful','Day!');
echo implode("
",$arr);
?/PREBR
PRE/PRE
4.在字符串種中查找另外一個(gè)字符
使用strpos()或strstr()函數(shù)
strpos()
函數(shù)返回字符串在另一個(gè)字符串中第一次出現(xiàn)的位置。
如果沒(méi)有找到該字符串,則返回 false。
語(yǔ)法:
復(fù)制代碼
代碼如下:
strpos(string,find,start)
//string為必須,表示被搜索的字符串
//find為必須,表示被查找的字符串
//start可選。規(guī)定開始搜索的位置。
tip:
該函數(shù)對(duì)大小寫敏感
例子:
復(fù)制代碼
代碼如下:
?php
$str="HellO
neo";
$find1="O";
$find2="o";
echo strpos($str,$find1);
echo
"br/";
echo
strpos($str,$find2);
?
輸出結(jié)果:
復(fù)制代碼
代碼如下:
4
8
5.截取字符串中的部分字符
substr()
函數(shù)返回字符串的一部分
語(yǔ)法:
復(fù)制代碼
代碼如下:
substr(string,start,length)
//string為必需,規(guī)定要返回其中一部分的字符串。
/*必需。規(guī)定在字符串的何處開始。
正數(shù) - 在字符串的指定位置開始
負(fù)數(shù) - 在從字符串結(jié)尾的指定位置開始
0 -
在字符串中的第一個(gè)字符處開始
*/
/*可選。規(guī)定要返回的字符串長(zhǎng)度。默認(rèn)是直到字符串的結(jié)尾。
正數(shù) - 從 start
參數(shù)所在的位置返回
負(fù)數(shù) - 從字符串末端返回
*/
tips:
如果 start 是負(fù)數(shù)且 length 小于等于
start,則 length 為 0。
例子;
復(fù)制代碼
代碼如下:
?php
$str="Hello world!";
echo
substr($str,0);
echo "br/";
echo
substr($str,6,5);
?
6.獲取字符串長(zhǎng)度
strlen()
函數(shù)用于計(jì)算字符串的長(zhǎng)度。
例子:
復(fù)制代碼
代碼如下:
?php
$str="Hello world!";
echo
strlen($str);
?
//輸出結(jié)果為12
7.將字符串轉(zhuǎn)化為大寫
strtoupper()
函數(shù)把字符串轉(zhuǎn)換為大寫。
例子:
復(fù)制代碼
代碼如下:
?php
$str="Hello world!";
echo
strtoupper($str);
?
//輸出結(jié)果為:HELLO WORLD!
8.將字符串轉(zhuǎn)化為小寫
strtolower()
函數(shù)把字符串轉(zhuǎn)換為小寫。
例子:
復(fù)制代碼
代碼如下:
?php
$str="Hello World!";
echo
strtolower($str);
?
常用的就是serialize();序列化
如果你只是想把數(shù)組中的單元值串聯(lián)起來(lái),可以使用implode這個(gè)函數(shù),比如用逗號(hào)
implode(',', $array);
PHP 中由于數(shù)組和字符串這兩種變量類型是如此常用,以至于 PHP 具有兩個(gè)函數(shù),可以在字符串和數(shù)組之間互相進(jìn)行轉(zhuǎn)換
代碼如下:
$array=explode(separator,$string);
$string=implode(glue,$array);
使用和理解這兩個(gè)函數(shù)的關(guān)鍵之處是分隔符(separator)和膠合符(glue)關(guān)系。當(dāng)把一個(gè)數(shù)組轉(zhuǎn)換成一個(gè)字符串時(shí),將會(huì)設(shè)置膠合符——將被插入到生成字符串中的數(shù)組值之間的字符或代碼。
相反,當(dāng)把字符串轉(zhuǎn)換成數(shù)組時(shí),要指定分隔符,它用于標(biāo)記什么應(yīng)該變成獨(dú)立數(shù)組元素。例如,以字符串開始:
$s1='Mon-Tue-Wed-Thu-Fri';
$days_array=explode('-',$s1);
$days_array 變量現(xiàn)在是一個(gè)有5個(gè)元素的數(shù)組,其元素 Mon 的索引為0,Tue 的索引為1,等等。
$s2=implode(',',$days_array);
$s2
變量現(xiàn)在是一個(gè)用逗號(hào)分隔的一個(gè)星期中各天的列表:Mon,Tue,Wed,Thu,Fri
現(xiàn)有$str,內(nèi)容為數(shù)組形式的數(shù)據(jù)。
要求轉(zhuǎn)換為數(shù)組,例如:
解決方法:
執(zhí)行以上函數(shù),可以得到數(shù)組$arr為字符串$str的數(shù)據(jù)的數(shù)組形式,跟js使用eval類似。
PHP 中的 serialize() 函數(shù)可以實(shí)現(xiàn)
serialize()
產(chǎn)生一個(gè)可存儲(chǔ)的值的表示,也就是把數(shù)組轉(zhuǎn)化為一個(gè)可以保存的字符串
unserialize()
從已存儲(chǔ)的表示中創(chuàng)建 PHP 的值,也就是把serialize()轉(zhuǎn)化的字符串再還原為數(shù)組
例如:
?php
$array = array('a','b');
$str = serialize($array);
echo $str;
$array_temp = unserialize($str);
print_r($array_temp);
?