最新消息: 新版网站上线了!!!

PHP 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 List:explode()例子

    
<?php
// Example 1
$fruit  = "Apple Banana Orange Lemon Mango Pear";
$fruitArray = explode(" ", $fruit);
echo $fruitArray[0]; // Apple
echo $fruitArray[1]; // Banana
// Example 2
$data = "gonn:*:nowamagic:1000::/home/foo:/bin/sh";
list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);
echo $user; // gonn
echo $pass; // *
?>

程序运行结果:

Apple
Banana
gonn
*

Program List:使用limit参数的explode()例子

    
<?php
$str = 'one|two|three|four';
// positive limit
print_r(explode('|', $str, 2));
// negative limit (since PHP 5.1)
print_r(explode('|', $str, -1));
?>

程序运行结果:

Array 
( 
	[0] => one 
    [1] => two|three|four 
) 
Array 
( 
	[0] => one 
    [1] => two 
    [2] => three 
)

Program List:将字符串化为键值数组

    
<?php
// converts pure string into a trimmed keyed array
function string2KeyedArray($string, $delimiter = ',', $kv = '=>') {
  if ($a = explode($delimiter, $string)) { // create parts
    foreach ($a as $s) { // each part
      if ($s) {
        if ($pos = strpos($s, $kv)) { // key/value delimiter
          $ka[trim(substr($s, 0, $pos))] = trim(substr($s, $pos + strlen($kv)));
        } else { // key delimiter not found
          $ka[] = trim($s);
        }
      }
    }
    return $ka;
  }
} // string2KeyedArray
$string = 'a=>1, b=>23, $a, c=>45%, true, d=>ab c';
print_r(string2KeyedArray($string));
?>

程序运行结果:

Array 
( 
	[a] => 1 
    [b] => 23 
    [0] => $a 
    [c] => 45% 
    [1] => true 
    [d] => ab c 
)

转载请注明:谷谷点程序 » PHP explode()函数的几个应用