explode()

将字符串分割成数组

explode()函数介绍

explode() 函数可以把字符串分割为数组。

语法:explode(separator,string,limit)。

separator,必需。规定在哪里分割字符串。
string,必需。要分割的字符串。
limit,可选。规定所返回的数组元素的最大数目。
本函数返回由字符串组成的数组,其中的每个元素都是由 separator 作为边界点分割出来的子字符串。

separator 参数不能是空字符串。如果 separator 为空字符串(""),explode() 将返回 FALSE。如果 separator 所包含的值在 string 中找不到,那么 explode() 将返回包含 string 中单个元素的数组。

如果设置了 limit 参数,则返回的数组包含最多 limit 个元素,而最后那个元素将包含 string 的剩余部分。

如果 limit 参数是负数,则返回除了最后的 -limit 个元素外的所有元素。此特性是 PHP 5.1.0 中新增的。

Program Listexplode()例子

01
<?php
02
// Example 1
03
$fruit  = "Apple Banana Orange Lemon Mango Pear";
04
$fruitArray = explode(" ", $fruit);
05
echo $fruitArray[0]; // Apple
06
echo $fruitArray[1]; // Banana
07
// Example 2
08
$data = "gonn:*:nowamagic:1000::/home/foo:/bin/sh";
09
list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);
10
echo $user; // gonn
11
echo $pass; // *
12
?>
程序运行结果:

1
Apple
2
Banana
3
gonn
4
*
Program List:使用limit参数的explode()例子

1
<?php
2
$str = 'one|two|three|four';
3
// positive limit
4
print_r(explode('|', $str, 2));
5
// negative limit (since PHP 5.1)
6
print_r(explode('|', $str, -1));
7
?>
程序运行结果:

01
Array
02
(
03
    [0] => one
04
    [1] => two|three|four
05
)
06
Array
07
(
08
    [0] => one
09
    [1] => two
10
    [2] => three
11
)
Program List:将字符串化为键值数组

01
<?php
02
// converts pure string into a trimmed keyed array
03
function string2KeyedArray($string, $delimiter = ',', $kv = '=>') {
04
  if ($a = explode($delimiter, $string)) { // create parts
05
    foreach ($a as $s) { // each part
06
      if ($s) {
07
        if ($pos = strpos($s, $kv)) { // key/value delimiter
08
          $ka[trim(substr($s, 0, $pos))] = trim(substr($s, $pos + strlen($kv)));
09
        } else { // key delimiter not found
10
          $ka[] = trim($s);
11
        }
12
      }
13
    }
14
    return $ka;
15
  }
16
} // string2KeyedArray
17
$string = 'a=>1, b=>23, $a, c=>45%, true, d=>ab c';
18
print_r(string2KeyedArray($string));
19
?>
程序运行结果:

view sourceprint?
1
Array
2
(
3
    [a] => 1
4
    [b] => 23
5
    [0] => $a
6
    [c] => 45%
7
    [1] => true
8
    [d] => ab c
9
)
原文地址:https://www.cnblogs.com/fyy-888/p/5381930.html