explode在PHP中的用法

Posted on 2011-10-20 09:51 PHP博客 阅读(170) 评论(0)  编辑 收藏 引用 网摘

explode在PHP中的用法
主要是注意explode的第三个参数

(PHP 3, PHP 4, PHP 5) explode--使用一个字符串分割另一个字符串描述
array explode ( string separator, string string [, int limit] )
此函数返回由字符串组成的数组,每个元素都是 string 的一个子串,它们被字符串 separator 作为边界点分割出来。

如果设置了 limit 参数,则返回的数组包含最多 limit 个元素,而最后那个元素将包含 string 的剩余部分。
如果 separator 为空字符串(""),explode() 将返回 FALSE。
如果 separator 所包含的值在 string 中找不到,那么 explode() 将返回包含 string 单个元素的数组。

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

 

 

由于历史原因,虽然 implode() 可以接收两种参数顺序,但是 explode() 不行。你必须保证 separator 参数在 string 参数之前才行。

注: 参数 limit 是在 PHP 4.0.1 中加入的。

例子 1.
explode() 示例
// 示例 1 $pizza = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2

// 示例 2
$data = "foo:*:1023:1000::/home/foo:/bin/sh";
list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);
echo $user; // foo对JAVA接口的用法
echo $pass; // *
?>

例子 2.
limit 参数示例
$str='one|two|three|four'; 
print_r(explode('|',$str)); 输出为:array([0]=>one [1]=>two [2]=>three [3]=>four) 
print_r(explode('|',$str,2));//正数的      Array ([0] => one [1] => two|three|four )
echo '<br />';
print_r(explode('|',$str,-1));//负数的     Array ( [0] => one [1] => two [2] => three)
echo '<br />';
print_r(explode('|',$str,-2));//负数的     Array ( [0] => one [1] => two )
print_r(explode('|',$str,-4));//负数超过元素的个数后将输出空数组,即Array ( )
?>
以上示例将输出: Array ([0] => one [1] => two|three|four )
   Array ( [0] => one [1] => two [2] => three)
注: 该函数可安全用于二进制对象


只有注册用户登录后才能发表评论。
网站导航:

posts - 139, comments - 0, trackbacks - 0, articles - 0

Copyright © PHP博客