在 php 编程中,字符串和数组是扮演着非常重要的角色。有时候我们需要把字符串转换成数组,从而更好地对数据进行处理。本文将详细讲述 php 字符串转换为数组的方法。
- 将字符串按照指定字符分隔成数组
我们可以使用PHP内置函数 explode() 将一个字符串分隔成数组,explode() 函数接受两个参数,第一个参数指定分隔符,第二个参数指定待分隔的字符串。下面的例子将字符串按照逗号分隔成数组。
$str = 'apple,banana,cherry';
$arr = explode(',', $str);
print_r($arr);输出结果:
立即学习“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.
Array
(
[0] => apple
[1] => banana
[2] => cherry
)- 将字符串按照指定长度分隔成数组
除了可以按照固定的字符将字符串分隔成数组外,我们还可以按照指定长度将字符串分隔成数组。这时候我们可以使用PHP内置函数 str_split(),str_split() 函数接受两个参数,第一个参数指定待分隔的字符串,第二个参数指定分隔的长度。
$str = 'ABCDEFGHIJK'; $arr = str_split($str, 3); print_r($arr);
输出结果:
立即学习“PHP免费学习笔记(深入)”;
Array
(
[0] => ABC
[1] => DEF
[2] => GHI
[3] => JK
)- 将字符串中的每个字符转换成数组元素
如果我们需要将字符串中的每个字符转换成数组元素,那么可以直接使用字符串变量作为数组进行遍历,每个字符自动转换为数组中的一个元素。
$str = 'Hello World';
$arr = [];
for($i = 0; $i < strlen($str); $i++) {
$arr[] = $str[$i];
}
print_r($arr);输出结果:
立即学习“PHP免费学习笔记(深入)”;
Array
(
[0] => H
[1] => e
[2] => l
[3] => l
[4] => o
[5] =>
[6] => W
[7] => o
[8] => r
[9] => l
[10] => d
)- 将字符串中的值与键关联成数组
有时候我们需要将字符串中的值和键一一对应的转换成数组,这时候可以使用 array_map()。
$str = 'a:1:{s:10:"product_id";s:2:"10";}';
$arr = array_map(
function($val) {
$temp = explode(':', $val);
return str_replace(['"', ';'], '', $temp[1]);
},
explode(';', $str)
);
print_r($arr);输出结果:
立即学习“PHP免费学习笔记(深入)”;
Array
(
[0] => 1
[1] => 10
)- 将 JSON 格式的字符串转换成数组
如果我们需要将 JSON 格式的字符串转换成数组,可以使用 json_decode() 函数进行转换。json_decode() 函数接受两个参数,第一个参数为 JSON 格式字符串,第二个参数为布尔类型,指定转换成对象还是数组。默认为对象。
$str = '{"name":"Jack", "age": 22, "gender": "male"}';
$arr = json_decode($str, true);
print_r($arr);输出结果:
立即学习“PHP免费学习笔记(深入)”;
Array
(
[name] => Jack
[age] => 22
[gender] => male
)总结
本文介绍了 PHP 将字符串转换成数组的几种常见方法,包括按照指定字符分隔成数组、按照指定长度分隔成数组、将字符串中的每个字符转换成数组元素、将字符串中的值与键关联成数组和将 JSON 格式的字符串转换成数组。这些方法在 PHP 的日常编程过程中经常用到。希望本文能够对 PHP 程序员们有所帮助。










