Home  >  Article  >  php教程  >  PHP explode()函数的几个应用

PHP explode()函数的几个应用

WBOY
WBOYOriginal
2016-06-13 09:39:031049browse

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:*:bkjia: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 
)
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn