毕业设计网
开发环境 |

split(),preg_split()与explode()函数分析与介

   来源:本站原创   点击:

split()函数可以实现使用正则表达式来把字符串拆分为较小的块,并作为一个数组返回,如果出现错误,则返回false。同样也可以根据你需要选择要返回多少个小块。
array split(string $pattern,string $string [,int $limit])
pattern:相应的正则表达式
string:字符串
limit:指定字符串分割的最大数目
<?php
$expression="3*5+12/6-15";
$pattern="/";
$limit=3;
$parts=split($pattern,$expression,$limit);
print_r($parts);
?>
结果:
Array
(
    [0] => 3*5+12
    [1] => 6-15
)
 
<?php
$expression="3*5+12/6-15";
$pattern="[+/]";
$limit=3;
$parts=split($pattern,$expression,$limit);
print_r($parts);
?>
结果:
Array
(
    [0] => 3*5
    [1] => 12
    [2] => 6-15
)
preg_split() 函数使用了 Perl 兼容正则表达式语法,通常是比 split() 更快的替代方案。如果不需要正则表达式的威力,则使用 explode() 更快,这样就不会招致正则表达式引擎的浪费。
 
explode()函数:使用一个字符串分割另一个字符串
<?php
// 示例 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
echo $pass; // *
 
?> 
// 示例 3
<?php
$str = 'one|two|three|four';
 
// 正数的 limit
print_r(explode('|', $str, 2));
 
// 负数的 limit(自 PHP 5.1 起)
print_r(explode('|', $str, -1));
?> 
 
以上例程会输出:
 
Array
(
    [0] => one
    [1] => two|three|four
)
Array
(
    [0] => one
    [1] => two
    [2] => three
)
 
preg_split:通过一个正则表达式分隔字符串
 
4.3.0版本:增加了标记PREG_SPLIT_OFFSET_CAPTURE. 
4.0.5版本:增加了标记PREG_SPLIT_DELIM_CAPTURE. 
<?php
$str = 'string';
$chars = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);
print_r($chars);
?> 
以上程序输出样式:
Array
(
    [0] => s
    [1] => t
    [2] => r
    [3] => i
    [4] => n
    [5] => g
)
<?php
$str = 'hypertext language programming';
$chars = preg_split('/ /', $str, -1, PREG_SPLIT_OFFSET_CAPTURE);
print_r($chars);
?> 
以上程序输出样式:
Array
(
    [0] => Array
        (
            [0] => hypertext
            [1] => 0
        )
 
    [1] => Array
        (
            [0] => language
            [1] => 10
        )
 
    [2] => Array
        (
            [0] => programming
            [1] => 19
        )
 

以上是大纲或介绍,如需要完整的资料请联系客服.如不符合您的要求,请联系技术人员qq:459382737定做

上一篇:你还在伤心看不懂php.ini配置文件吗?php.ini详解
下一篇:jsp高校教材征订程序

关于本站 站点地图
版权所有 毕业设计网联系qq:459382737 © 2007-2015