工作中會經常分隔字串為陣列,我們可以用php內建函式str_split(),可是有時候字串中包含中文,切割後會亂碼,比如
print_r(str_split('dw氛圍fesf',3));
輸出
array([0] => php
[1] => �
[2] => ��
[3] => ��
[4] => ��
[5] => ��
[6] => �!!
[7] => !
)為了能處理多位元組字串
下面函式可以實現
function mbstringtoarray($str)$len = mb_strlen($str);
$array = array();
for($i = 0; $i<$len; $i++)
return $array;
}/**
* @param str $str
* @param int $length 擷取長度
* @param boole $byte 是否按位元組分隔 false 按字元數分隔
* @return array
*/function _str_split($str,$length,$byte=false)
if($encoding = mb_detect_encoding($str, null, true) === false )
$utf8_str = mb_convert_encoding($str, 'utf8', $encoding);
if($byte)
$split_arr = str_pad($line, $width);
$line = $char;
}return $split_arr;
}else}}
return $chunks;
}}
執行
print_r(_str_split($str,3,false));
輸出
array([0] => php
[1] => 開發
[2] => 者中心
[3] => !!!
)
php分隔字串為陣列
explode explode 使用乙個字串分割另乙個字串 array explode string separator string string int limit 此函式返回由字串組成的陣列,每個元素都是 string 的乙個子串,它們被字串 separator 作為邊界點分割出來。如果設定了...
字串分隔
題目 連續輸入字串,請按長度為8拆分每個字串後輸出到新的字串陣列 長度不是8整數倍的字串請在後面補數字0,空字串不處理。輸入 abc 123456789輸出 abc00000 12345678 90000000 include include using namespace std char str...
分隔字串
注 此sql原作者 袁老大 create or replace package split pck is type char table is table of varchar2 4000 function split string pi str in varchar2,pi separator i...