分隔字串,使用「str_split」就可以了好處是連空格也會作為陣列的元素。我之前的例子就是因為前乙個字串包含2個空格,而後乙個只有乙個。但是輸出的時候看到的顯示都是一樣的。
也可以按照其他分隔符進行分割,如「explode」或者「preg_split」,
php教程 explode() 函式
php string 函式
定義和用法
explode() 函式把字串分割為陣列。
語法explode(separator,string,limit)引數 描述
separator 必需。規定在**分割字串。
string 必需。要分割的字串。
limit 可選。規定所返回的陣列元素的最大數目。
例子在本例中,我們將把字串分割為陣列:
<?php
$str = "hello world. it's a beautiful day.";
print_r (explode(" ",$str));
?>
輸出:
str_split 拆分函式array
([0] => hello
[1] => world.
[2] => it's
[3] => a
[4] => beautiful
[5] => day.
)
定義和用法
str_split() 函式把字串分割到陣列中。
語法str_split(string,length)引數 描述
string 必需。規定要分割的字串。
length 可選。規定每個陣列元素的長度。預設是 1。
說明如果 length 小於 1,str_split() 函式將返回 false。
如果 length 大於字串的長度,整個字串將作為陣列的唯一元素返回。
例子例子 1
輸出:
array
([0] => h
[1] => e
[2] => l
[3] => l
[4] => o
)
例子 2
<?php
print_r(str_split("hello",3));
?>
輸出:
array ( [0] => hel [1] => lo )
preg_split -- 用正規表示式分割字串
說明array preg_split ( string pattern, string subject [, int limit [, int flags]])
返回乙個陣列,包含 subject 中沿著與 pattern 匹配的邊界所分割的子串。
如果指定了 limit,則最多返回 limit 個子串,如果 limit 是 -1,則意味著沒有限制,可以用來繼續指定可選引數 flags。
flags 可以是下列標記的任意組合(用按位或運算子 | 組合):
preg_split_no_empty
如果設定了本標記,則 preg_split() 只返回非空的成分。
以上是一篇我在網上找到的關於拆分的字串的文章 ,也是比較全的。今天我在我在做專案的時候,遇到了這樣的乙個問題,拆分中英文混合的字串 。因為中文占有2個位元組,當使用str_split函式時,悲劇的出現了亂碼 。so,在網上找到了乙個能夠正確拆分字串的函式 。此函是只支援 gb2312編碼 ,其它的編碼的字串需要先轉換編碼 。
function arr_split_zh($tempaddtext)else}}
foreach ($arr_cont as &$row)
return $arr_cont;
}
使用PHP拆分中文字串的方法 收藏 小節
案例假設 假設我有乙個由英文本母 數字 中文字元組成的字串,我想要往這個字串的每兩個字元中間加入乙個百分號 例如 把 hurry的部落格blog.csdn.net jpr1990 變成 h r r y 的 博 客 b l o g c s d n n e t j p r 1 9 9 0 那麼我們怎麼來...
php中文字串翻轉
在utf 8編碼下,在使用strlen 時,乙個中英文本元是佔乙個位元組,而乙個中文字元是佔三個位元組。因此在呼叫strrev函式時,如果字串是純英文,不會出現什麼問題,但是如果字元中含有中文則會出現亂碼。str hello echo strlen str 5 echo strrev str oll...
PHP 中文字串擷取
本文提供兩種方法實現中文字串的擷取 1.使用系統提供的 mb substr 或iconv substr 函式 php.ini 配置檔案中的 mbstring 擴充套件要開啟才能使用 函式說明 string mb substr string str,int start int length null ...