在 php 编程中,字符串和数组是扮演着非常重要的角色。有时候我们需要把字符串转换成数组,从而更好地对数据进行处理。本文将详细讲述 php 字符串转换为数组的方法。
将字符串按照指定字符分隔成数组我们可以使用php内置函数 explode() 将一个字符串分隔成数组,explode() 函数接受两个参数,第一个参数指定分隔符,第二个参数指定待分隔的字符串。下面的例子将字符串按照逗号分隔成数组。
$str = 'apple,banana,cherry';$arr = explode(',', $str);print_r($arr);
输出结果:
array( [0] => apple [1] => banana [2] => cherry)
将字符串按照指定长度分隔成数组除了可以按照固定的字符将字符串分隔成数组外,我们还可以按照指定长度将字符串分隔成数组。这时候我们可以使用php内置函数 str_split(),str_split() 函数接受两个参数,第一个参数指定待分隔的字符串,第二个参数指定分隔的长度。
$str = 'abcdefghijk';$arr = str_split($str, 3);print_r($arr);
输出结果:
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);
输出结果:
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);
输出结果:
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);
输出结果:
array( [name] => jack [age] => 22 [gender] => male)
总结
本文介绍了 php 将字符串转换成数组的几种常见方法,包括按照指定字符分隔成数组、按照指定长度分隔成数组、将字符串中的每个字符转换成数组元素、将字符串中的值与键关联成数组和将 json 格式的字符串转换成数组。这些方法在 php 的日常编程过程中经常用到。希望本文能够对 php 程序员们有所帮助。
以上就是php字符串转换为数组的方法的详细内容。