在开发中,可能会遇到需要将字符串类型的数值转换为数值类型的数组的情况,例如在处理表单提交或者数据导入时。
在php中,提供了一些内置函数可以实现这个转换过程:
- explode
explode函数可以根据指定的分隔符将字符串拆分为一个数组
例如:
立即学习“PHP免费学习笔记(深入)”;
Perl学习手札是台湾perl高手写的一篇文章,特打包为chm版,方便大家阅读。 关于本书 1. 关于Perl 1.1 Perl的历史 1.2 Perl的概念 1.3 特色 1.4 使用Perl的环境 1.5 开始使用 Perl 1.6 你的第一个Perl程序 2. 标量变量(Scalar) 2.1 关于标量 2.1.1 数值 2.1.2 字符串 2.1.3 数字与字符串转换 2.2 使用你自己的变量 2.3 赋值 2.3.1 直接设定 2.3.2 还可以这样 2.4 运算 2.5 变量的输出/输入 2.
$str = "1,2,3,4,5";
$array = explode(",", $str);
print_r($array);输出结果为:
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
)- str_split
str_split函数可以将字符串拆分为每个字符组成的数组
例如:
立即学习“PHP免费学习笔记(深入)”;
$str = "12345"; $array = str_split($str); print_r($array);
输出结果为:
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
)需要注意的是,str_split函数在处理中文字符时可能会出现乱码等问题,需要使用其它函数配合解决。
- preg_split
preg_split函数可以根据正则表达式将字符串拆分为数组
例如:
立即学习“PHP免费学习笔记(深入)”;
$str = "1:2,3;4|5";
$array = preg_split("/[:,;|]/", $str);
print_r($array);输出结果为:
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
)在使用preg_split函数时,需要注意正则表达式的编写,避免出现不必要的错误。
- sscanf
sscanf函数可以根据指定的格式将字符串解析为数组
例如:
立即学习“PHP免费学习笔记(深入)”;
$str = "1,2,3,4,5"; sscanf($str, "%d,%d,%d,%d,%d", $a, $b, $c, $d, $e); $array = array($a, $b, $c, $d, $e); print_r($array);
输出结果为:
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
)在使用sscanf函数时,需要根据字符串和格式的具体情况进行适当的调整,避免出现解析错误。
总结:
以上几种方法都可以将字符串类型的数值转换为数值类型的数组,需要根据实际情况选择合适的方法。在实际开发中,也需要考虑数据的格式和适用场景,以避免出现不必要的错误和问题。









