PHP explode()函数的几个应用和implode()函数有什么区别

explode()函数介绍


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


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






















参数描述
separator必需。规定在哪里分割字符串。
string必需。要分割的字符串。
limit

可选。规定所返回的数组元素的数目。


可能的值:



  • 大于 0 – 返回包含最多 limit 个元素的数组

  • 小于 0 – 返回包含除了最后的 –limit 个元素以外的所有元素的数组

  • 0 – 返回包含一个元素的数组



本函数返回由字符串组成的数组,其中的每个元素都是由 separator 作为边界点分割出来的子字符串。


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


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


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


Program List:explode()例子



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


程序运行结果:


Apple
Banana
gonn
*


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



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


程序运行结果:



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


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



<?php// converts pure string into a trimmed keyed arrayfunction stringKeyedArray($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, , $pos))] = trim(substr($s, $pos + strlen($kv)));    } else { // key delimiter not found     $ka[] = trim($s);    }   }  }  return $ka; }} // stringKeyedArray$string = 'a=>, b=>, $a, c=>%, true, d=>ab c';print_r(stringKeyedArray($string));?>


程序运行结果:


Array
(
    [a] =>
    =>
    [] => $a
    [c] => %
    [] => true
    [d] => ab c
)


PS:PHP函数implode()与explode()函数的不同之处


以上内容给大家介绍了explode() 函数的具体用法。当我们遇到 PHP函数implode()把数组元素组合为一个字符串。


implode(separator,array)


separator 可选。规定数组元素之间放置的内容。默认是 “”(空字符串)。


array 必需。要结合为字符串的数组。


虽然 separator 参数是可选的。但是为了向后兼容,推荐您使用使用两个参数。


PHP函数implode()的例子



<?php $arr = array('Hello','World!','Beautiful','Day!'); echo implode(" ",$arr); ?> 


输出:


SyntaxHighlighter.highlight();