PHP之string之explode()函数使用
explode
- (PHP 4, PHP 5, PHP 7)
- explode — Split a string by string
- explode — 使用一个字符串分割另一个字符串
Description
array explode (
string $delimiter ,
string $string [,
int $limit = PHP_INT_MAX ]
)
//Returns an array of strings, each of which is a substring of string formed by splitting it on boundaries formed by the string delimiter.
//此函数返回由字符串组成的数组,每个元素都是 string 的一个子串,它们被字符串 delimiter 作为边界点分割出来。
Parameters
delimiter
- The boundary string.
- 边界上的分隔字符。
string
- The input string.
- 输入的字符串。
limit
If limit is set and positive, the returned array will contain a maximum of limit elements with the last element containing the rest of string.
如果设置了 limit 参数并且是正数,则返回的数组包含最多 limit 个元素,而最后那个元素将包含 string 的剩余部分。
If the limit parameter is negative, all components except the last -limit are returned.
如果 limit 参数是负数,则返回除了最后的 -limit 个元素外的所有元素。
If the limit parameter is zero, then this is treated as 1.
如果 limit 是 0,则会被当做 1。
Note:
- Although implode() can, for historical reasons, accept its parameters in either order, explode() cannot. You must ensure that the delimiter argument comes before the string argument.
- 由于历史原因,虽然 implode() 可以接收两种参数顺序,但是 explode() 不行。你必须保证 separator 参数在 string 参数之前才行。
Return Values
Returns an array of strings created by splitting the string parameter on boundaries formed by the delimiter.
此函数返回由字符串组成的 array,每个元素都是 string 的一个子串,它们被字符串 delimiter 作为边界点分割出来。
If delimiter is an empty string (""), explode() will return FALSE. If delimiter contains a value that is not contained in string and a negative limit is used, then an empty array will be returned, otherwise an array containing string will be returned.
如果 delimiter 为空字符串(""),explode() 将返回 FALSE。 如果 delimiter 所包含的值在 string 中找不到,并且使用了负数的 limit , 那么会返回空的 array, 否则返回包含 string 单个元素的数组。
Example
<?php
/**
* Created by PhpStorm.
* User: zhangrongxiang
* Date: 2018/2/16
* Time: 下午3:49
*/
// 示例 1
$pizza = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode( " ", $pizza );
echo $pieces[0] . PHP_EOL; // piece1
echo $pieces[1] . PHP_EOL; // piece2
// 示例 2
$data = "foo:*:1023:1000::/home/foo:/bin/sh";
list( $user, $pass, $uid, $gid, $gecos, $home, $shell ) = explode( ":", $data );
echo $user . PHP_EOL; // foo
echo $pass . PHP_EOL; // *
print_r( explode( ';', $data ) );// [0] => foo:*:1023:1000::/home/foo:/bin/sh
$str = 'one|two|three|four';
// 正数的 limit
//[0] => one
//[1] => two|three|four
print_r( explode( '|', $str, 2 ) );
// 负数的 limit(自 PHP 5.1 起)
//[0] => one
//[1] => two
//[2] => three
//如果 limit 参数是负数,则返回除了最后的 -limit 个元素外的所有元素。
print_r( explode( '|', $str, - 1 ) );
$path = '/Users/zhangrongxiang/WorkSpace/phpProjects/PHPTEST';
//[0] =>
//[1] => Users
//[2] => zhangrongxiang
//[3] => WorkSpace
//[4] => phpProjects
//[5] => PHPTEST
$rs = explode( '/', $path );
print_r( $rs );
//[0] =>
//[1] => Users
//[2] => zhangrongxiang/WorkSpace/phpProjects/PHPTEST
$rs = explode( '/', $path, 3 );
print_r( $rs );
//[0] =>
//[1] => Users
//[2] => zhangrongxiang
$rs = explode( '/', $path, - 3 );
print_r( $rs );
/////////////////////////////////////////////////////////////////////////////////////
function multiexplode( $delimiters, $string ) {
$ready = str_replace( $delimiters, $delimiters[0], $string );
//here is a sample, this text, and this will be exploded, this also , this one too ,)
echo $ready . PHP_EOL;
$launch = explode( $delimiters[0], $ready );
return $launch;
}
//[0] => here is a sample
//[1] => this text
//[2] => and this will be exploded
//[3] => this also
//[4] => this one too
//[5] => )
$text = "here is a sample: this text, and this will be exploded. this also | this one too :)";
$exploded = multiexplode( array( ",", ".", "|", ":" ), $text );
print_r( $exploded );
/////////////////////////////////////////////////////////////////////////////////////
$str = "";
$res = explode( ",", $str );
//Array
//(
// [0] =>
//)
print_r( $res );
$res = array_filter( explode( ",", $str ) );
//Array
//(
//)
print_r( $res );
/////////////////////////////////////////////////////////////////////////////////////
//a simple one line method to explode & trim whitespaces from the exploded elements
array_map( 'trim', explode( ",", $str ) );
$str = "one ,two , three , four ";
//[0] => one
//[1] => two
//[2] => three
//[3] => four
print_r( array_map( 'trim', explode( ",", $str ) ) );
/////////////////////////////////////////////////////////////////////////////////////
//the function
//Param 1 has to be an Array
//Param 2 has to be a String
function multiexplode2( $delimiters, $string ) {
$ary = explode( $delimiters[0], $string );
array_shift( $delimiters );
if ( $delimiters != null ) {
foreach ( $ary as $key => $val ) {
$ary[ $key ] = multiexplode2( $delimiters, $val );
}
}
return $ary;
}
// Example of use
$string = "1-2-3|4-5|6:7-8-9-0|1,2:3-4|5";
$delimiters = Array( ",", ":", "|", "-" );
$res = multiexplode2( $delimiters, $string );
print_r( $res );
See
All rights reserved
PHP之string之explode()函数使用的更多相关文章
- PHP explode()函数
源起:将日期格式的字符串拆分成年.月.日,用于组织关系介绍信的特定位置打印.感谢倪同学提供思路 定义和用法 explode()函数把字符串分割为数组 语法 explode(separator,stri ...
- split(),preg_split()与explode()函数分析与介
split(),preg_split()与explode()函数分析与介 发布时间:2013-06-01 18:32:45 来源:尔玉毕业设计 评论:0 点击:965 split()函数可以实 ...
- ***PHP implode() 函数,将数组合并为字符串;explode() 函数,把字符串打散为数组
实例 把数组元素组合为字符串: <?php $arr = array('Hello','World!','I','love','Shanghai!'); echo implode(" ...
- ***实用函数:PHP explode()函数用法、切分字符串,作用,将字符串打散成数组
下面是根据explode()函数写的切分分割字符串的php函数,主要php按开始和结束截取中间数据,很实用 代码如下: <? // ### 切分字符串 #### function jb51net ...
- PHP之string之rtrim()函数使用
rtrim (PHP 4, PHP 5, PHP 7) rtrim - Strip whitespace (or other characters) from the end of a string ...
- PHP 中使用explode()函数切割字符串为数组
explode()函数的作用:使用一个字符串分割另一个字符串,打散为数组. 例如: 字符串 $pizza = "第1 第2 第3 第4 第5 第6"; 根据空格分割后:$piece ...
- php explode()函数 语法
php explode()函数 语法 作用:把字符串打散为数组 语法:explode(separator,string,limit)大理石机械构件 参数: 参数 描述 separator 必需.规定在 ...
- hive中的lateral view 与 explode函数的使用
hive中的lateral view 与 explode函数的使用 背景介绍: explode与lateral view在关系型数据库中本身是不该出现的. 因为他的出现本身就是在操作不满足第一范式的数 ...
- OC与c混编实现Java的String的hashcode()函数
首先,我不愿意大家需要用到这篇文章里的代码,因为基本上你就是被坑了. 起因:我被Java后台人员坑了一把,他们要对请求的参数增加一个额外的字段,字段的用途是来校验其余的参数是否再传递过程中被篡改或因为 ...
随机推荐
- python中GUI使用小结
1 先来个简单的 import wx app = wx.App() frm = wx.Frame(None, title="Hello World") frm.Show() app ...
- Spring学习(六)——集成memcached客户端
memcached是高性能的分布式内存缓存服务器.许多Web应用都将数据保存到RDBMS中,应用服务器从中读取数据并在浏览器中显示. 但随着数据量的增大.访问的集中,就会出现RDBMS的负担加重.数据 ...
- you need to be root to perform this command
在linux 终端执行某条命令时 提示一下错误 you need to be root to perform this command 是提示要获取root权限 输入su 回车输入密码 即可解决 参考 ...
- WPF绑定BitMapImage
先说下图片文件存在服务器.wpf常用绑定图片地址没办法用.忽然想到,convert能否转字节数据?实验了下可以. 图片绑定字节数组. convert代码 public class PictureCon ...
- WordPress插件Social Warfare<=3.5.2 无需登录RCE漏洞
该漏洞只存在于Social Warfare插进的3.5.0.3.5.1和3.5.2版本中,其他版本不存在. 2019年3月21日插件作者紧急发布了3.5.3版本以修复高危的RCE漏洞,在<=3. ...
- net项目总结一(1)
中小型新闻发布系统 代码结构:分为实体层,数据层与接口,数据工厂层,业务逻辑层,公共层,UI层(由于图片上传实在麻烦,所以只上传少量而已),项目中用到了工厂模式,解耦BLL层和DLL层 1.登录功能, ...
- js加密解密 base64
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title> ...
- jmeter+ant+jenkins+mac报告优化(二):添加90% Line和QPS
一.优化内容 1.Summary中只标红Failures数 2.Pages页面按Average Time倒序排序 3.Average Time超过2s标黄显示 4.Pagelist 模块中针对错误和超 ...
- js判断手机端操作系统的两种方法
//判断手机端操作系统(Andorid/IOS),并自动跳转相应下载界面 androidURL ="http://xxx/xxx.apk"; var browser = { ver ...
- kali系统越来越大解决
Kali Linux系统提供的apt-get方式,可以很好的安装软件,对系统进行更新.但是每次执行都会下载大量的软件包.这些软件包被安装后,并不会被自动删掉,会持续占用磁盘空间.解决这个问题有两个办法 ...