插件窝 干货文章 php 字符串转化成数组

php 字符串转化成数组

array 字符串 函数 string 817    来源:    2025-03-19

在 PHP 中,你可以使用多种方法将字符串转化为数组。以下是几种常见的方式:

1. 使用 explode() 函数

explode() 函数通过指定的分隔符将字符串分割成数组。

$string = "apple,banana,orange";
$array = explode(",", $string);

print_r($array);

输出:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
)

2. 使用 str_split() 函数

str_split() 函数将字符串按指定长度分割成数组。

$string = "hello";
$array = str_split($string, 1);

print_r($array);

输出:

Array
(
    [0] => h
    [1] => e
    [2] => l
    [3] => l
    [4] => o
)

3. 使用 preg_split() 函数

preg_split() 函数通过正则表达式将字符串分割成数组。

$string = "apple,banana;orange";
$array = preg_split("/[;,]/", $string);

print_r($array);

输出:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
)

4. 使用 mb_str_split() 函数(适用于多字节字符)

mb_str_split() 函数类似于 str_split(),但支持多字节字符(如 UTF-8)。

$string = "こんにちは";
$array = mb_str_split($string, 1);

print_r($array);

输出:

Array
(
    [0] => こ
    [1] => ん
    [2] => に
    [3] => ち
    [4] => は
)

5. 使用 json_decode() 函数

如果字符串是 JSON 格式,可以使用 json_decode() 将其转化为数组。

$string = '{"fruit1":"apple","fruit2":"banana","fruit3":"orange"}';
$array = json_decode($string, true);

print_r($array);

输出:

Array
(
    [fruit1] => apple
    [fruit2] => banana
    [fruit3] => orange
)

6. 使用 unserialize() 函数

如果字符串是序列化的 PHP 数组,可以使用 unserialize() 将其转化为数组。

$string = 'a:3:{i:0;s:5:"apple";i:1;s:6:"banana";i:2;s:6:"orange";}';
$array = unserialize($string);

print_r($array);

输出:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
)

总结

  • explode(): 适用于简单的字符串分割。
  • str_split(): 适用于按固定长度分割字符串。
  • preg_split(): 适用于复杂的正则表达式分割。
  • mb_str_split(): 适用于多字节字符的分割。
  • json_decode(): 适用于 JSON 格式的字符串。
  • unserialize(): 适用于序列化的 PHP 数组。

根据你的具体需求选择合适的方法。