在 php 编程中,字符串和数组是扮演着非常重要的角色。有时候我们需要把字符串转换成数组,从而更好地对数据进行处理。本文将详细讲述 php 字符串转换为数组的方法。
- 将字符串按照指定字符分隔成数组
我们可以使用PHP内置函数 explode() 将一个字符串分隔成数组,explode() 函数接受两个参数,第一个参数指定分隔符,第二个参数指定待分隔的字符串。下面的例子将字符串按照逗号分隔成数组。
$str = 'apple,banana,cherry';
$arr = explode(',', $str);
print_r($arr);输出结果:
立即学习“PHP免费学习笔记(深入)”;
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 程序员们有所帮助。











