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后台人员坑了一把,他们要对请求的参数增加一个额外的字段,字段的用途是来校验其余的参数是否再传递过程中被篡改或因为 ...
随机推荐
- Android-应用安装/替换/卸载/广播监听
在上一篇博客Android-开关机的广播,中介绍了,如何订阅接收者,去接收系统发送的开机/关机广播, 而这篇博客是订阅接收者 去接收应用的(安装/替换/卸载) 三种广播 订阅 接收者 去接收 应用的 ...
- File Path Directory总结
阅读目录 开始 Path 对路径 字符串进行操作 获得后缀 能合并路径 获取文件名 Directory和DirectoryInfo 对目录进行操作 判断目录是否存在 创建目录 删除目录 获取目录下所 ...
- PARTITION BY函数
1.PARTITION BY 开窗函数, 使用场景,在合同表里,获取所有房源在最新的合同编号.或者获取每个班级每次考试的第一名. 区别聚合函数:对于每个每个分组返回多行,而聚合函数对于每个分组只返回一 ...
- 3-C#面向对象概念
本篇博客对应视频讲解 回顾 前两篇博文带大家快速的感知一下使用C#编写程序是怎样的过程,能实现什么样的功能.同时也提到了面向对象的概念.本篇文章就是更加详细的去将面向对象编程中常见的概念进行示例说明, ...
- Java学习笔记XML(3)
XML简介 XML即可扩展的标记语言.因此该语言中所有的标签都是没有预先定义的,开发者可以自己随意的指定. 目前为止所有的标记的语言都属于开源的语言.由W3C组织进行一个基本的维护. 因此大家学习这些 ...
- Problem G: 沉迷字符的WJJ (LCS)
Contest - 河南省多校连萌(四) Problem G: 沉迷字符的WJJ Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 6 Solved: 5 ...
- AVA + Spectron + JavaScript 对 JS 编写的客户端进行自动化测试
什么是 AVA (类似于 unittest) AVA 是一种 JavaScript 单元测试框架,是一个简约的测试库.AVA 它的优势是 JavaScript 的异步特性和并发运行测试, 这反过来提高 ...
- 关于JNDI技术链接操作数据库-2019.1.10
Java 命名与目录接口(Java Naming and Directory Interface) ==需要使用的包为java.sql&javax.naming包==Mysql 步骤: 1.配 ...
- JAVA基本数据类型所占字节数是多少?
byte 1字节 short 2字节 int 4字节 long 8字节 ...
- static修饰的方法不能被重写可以被继承
今天我们谈谈为什么抽象类中不能有静态的抽象方法以及static修饰的方法不能被重写可以被继承 1 static修饰的方法不能被重写可以被继承我们知道static修饰的方法为静态方法,可以直接使用类名. ...