在 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 程序员们有所帮助。
以上就是PHP字符串转换为数组的方法的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2032225.html