请问php怎样打散字符为数组

请问php怎样打散字符为数组,第1张

使用str_split(string $string,[, int $split_length = 1 ])该函数将一个字符串转化为一个数组 ,第一个参数为需要转换的字符串,第二个可选参数为数组每个元素的长度,缺省值为1 如下例:
<php
$str = "Hello Friend";
$arr1 = str_split($str);
$arr2 = str_split($str, 3);
print_r($arr1);
print_r($arr2);
>
将输出
Array
(
[0] => H
[1] => e
[2] => l
[3] => l
[4] => o
[5] =>
[6] => F
[7] => r
[8] => i
[9] => e
[10] => n
[11] => d
)
Array
(
[0] => Hel
[1] => lo
[2] => Fri
[3] => end
)
希望能帮到你

explode — 使用一个字符串分割另一个字符串, 它的函数原型如下:
array explode    ( string $delimiter   , string $string   [, int $limit  ] )
因此,它不可以提供多个字符作为分割符来进行分割数组。
如果要使用多个字符串作为分割字符,可以用另外一个函数 preg_split。
通过一个正则表达式分隔字符串, 它的函数原型如下:
array preg_split    ( string $pattern   , string $subject   [, int $limit = -1   [, int $flags = 0  ]] )
举例:
<php
$str = "aa--bb++ccdd";
$arr = preg_split('/[-+\]+/is', $str);
echo "<pre>";
print_r($arr);
echo "</pre>";
它的输出结果是:
Array
(
   [0] => aa
   [1] => bb
   [2] => cc
   [3] => dd
);


说一下:这段不成功。
如果你的字串是固定的,就先用substr() 固定截图来赋值把,(汉子截取2个字节)
$str = "怎么chai数组123";
function str_arr($str){
    $str1 = substr($str,0,1);
    echo $str1;
    $e = preg_match("/^[\x7f-\xff]+$/",$str1);
    echo $e;
    if($e){$zhi = "y"; }else{$zhi = 'n';}
echo $zhi;
    $new = array();
    if($e){
        $new[] = $str1;
        $str_r = substr($str,2);
    }else{
        $str2 = substr($str,0,2);
        $new[] = $str2;
        $str_r = substr($str,2);
    }
    
    return $new;
}
$ss = str_arr($str);
var_dump($ss);

<php
$str="123 5
456 5
159 6";
function strsToArray($strs,$x) { // 把字符串按指定正则切割为数组
$result = array(); 
$array = array(); 
//把与正则匹配的字符串替换为 @
$strs = preg_replace($x, '@', trim($strs)); 
/ 这里切割字符串,需要注意的是如果字符串中有@
   可以把上下两行这个@改为其他字符串中没有的符号 /
$array = explode('@', trim($strs)); 
foreach ($array as $key => $value) {
$result[] = $value;
}
return $result; 

$test=strsToArray($str,'/\n/'); // 以换行符切割字符串为数组
foreach ($test as $key => $value) { // 遍历数组,再以空格切割字符串为数组
$testb[]=strsToArray($value,'/\s/');
}
echo var_dump($testb);
>

希望对你有所帮助

先用str_replace这个函数,再用explode是分割成为数组
$aaa="[1][2][3][4]";
$bbb=str_replace(']',',',str_replace('[','',$aaa));
$list=explode(",",$bbb);
自己把代码拿过去测试吧
希望能帮助到你。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/10536568.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-09
下一篇 2023-05-09

发表评论

登录后才能评论

评论列表(0条)

保存