Skip to content

Instantly share code, notes, and snippets.

@suziewong
Last active December 10, 2015 02:29
Show Gist options
  • Save suziewong/4367906 to your computer and use it in GitHub Desktop.
Save suziewong/4367906 to your computer and use it in GitHub Desktop.
下列哪个函数是用正则表达式将字符串分割到数组中() A、Split B、implode C、explode D、join 答案:A
把数组变成串:
string implode ( string $glue , array $pieces ) 与 string join ( string $glue , array $pieces )  只是名字不同,是别名而已.
把串变成数组:
array split ( string $pattern , string $string [, int $limit ] )
$pattern: 是正则表达式,如'\|' ,[/.-] 等. 
$string:    目标串
$limit:      返回的数组最多包含 limit 个单元,而其中最后一个单元包含了 string 中剩余的所有部分。负数无效
array explode ( string $delimiter , string $string [, int $limit ] )
$delimiter : 分隔符号.
$string:       目标串
limit:           则返回的数组包含最多 limit 个元素,而最后那个元素将包含 string 的剩余部分.
    >0, 则返回的数组包含最多 limit 个元素
    <0, 如果 limit 参数是负数,则返回除了最后的 limit 个元素外的所有元素
    =0, 按1对待.

提示: preg_split() 函数使用了 Perl 兼容正则表达式语法,通常是比 split() 更快的替代方案。如果不需要正则表达式的威力,则使用 explode() 更快,这样就不会招致正则表达式引擎的浪费。

<?php
$test ="a|b|c|d|e";
$arr1 = split('\|', $test,2);
echo "<pre>";print_r($arr1);
/*
Array
(
[0] => a
[1] => b|c|d|e
)
*/
$arr1 = explode ('|', $test,2);
echo "<pre>";print_r($arr1);
/*
Array
(
[0] => a
[1] => b|c|d|e
)
*/
$arr1 = explode('|', $test,-2);
echo "<pre>";print_r($arr1);
/*
Array
(
[0] => a
[1] => b
[2] => c
)
*/
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment