WithCoderWithCoderWithCoder

PHP字符串函数str_split(分割字符串到数组)

    最近在做串口数据开发时,因为用户上传的串口数据时十六进制的字符串,需要用PHP将字符串按2个字符进行截取后转换为十进制。刚开始的想法是使用for循环进行截取,但想到其他语言如Java、.Net中都有相应的字符串处理函数,对照文档,发现PHP也有相应的字符串截取函数str_split。

    str_split()函数怎么用

    str_split()函数用于把字符串按规定长度分割到数组中,语法:

str_split(string,length)

    参数:

参数描述
string必须,要分割的字符串
length可选,规定每个数组元素的长度,默认为1,如果length小于1,则返回false,如果length长度大于当前字符串的长度,则整个字符串将作为数组的唯一元素返回。

    说明:将字符串按规定长度分割组成数组

    举例1,将字符串按2个字符进行分割:

<?php
$str = "helloworld";
$arr = str_split($str, 2);//指定分割的数组元素2

var_dump($arr); //

    输出结果:   

array (size=5)
  0 => string 'he' (length=2)
  1 => string 'll' (length=2)
  2 => string 'ow' (length=2)
  3 => string 'or' (length=2)
  4 => string 'ld' (length=2)

    举例2,将十六进制字符串按2位字符进行分割,并转换为十进制:   

<?php
$str = "010330001e000000280000000a";
$arr = str_split($str, 2);//指定分割的数组元素2
foreach ($arr as &$v) {
   $v = hexdec($v); // 16转换为10
}
var_dump($arr); //

    输出结果: 

array (size=13)
  0 => int 1
  1 => int 3
  2 => int 48
  3 => int 0
  4 => int 30
  5 => int 0
  6 => int 0
  7 => int 0
  8 => int 40
  9 => int 0
  10 => int 0
  11 => int 0
  12 => int 10


欢迎分享交流,转载请注明出处:WithCoder » PHP字符串函数str_split(分割字符串到数组)