php中比较复杂但又常用的字符串函数
php系统核心库自带的函数中,字符串比数组函数较为简单,但还是有一些较为复杂但又很常用的函数,比如下面的这些函数
explode()函数
用一个字符串来分割另一个字符串,返回结果是一个数组
explode(字符串型分隔符,目标字符串,设置返回数组元素的上限)
特例1.如果分割符为空字符串,函数返回false
特例2.如果分割符在目标字符串中不出现,且第三个参数为负数,函数返回空数组
$pizza = "piece1 piece2 piece3 piece4 piece5 piece6";
var_dump( explode(" ", $pizza) );
// array(6) {
// [0] =>
// string(6) "piece1"
// [1] =>
// string(6) "piece2"
// [2] =>
// string(6) "piece3"
// [3] =>
// string(6) "piece4"
// [4] =>
// string(6) "piece5"
// [5] =>
// string(6) "piece6"
// }
特例
// 特例1
$pizza = "piece1 piece2 piece3 piece4 piece5 piece6";
var_dump( explode("", $pizza, -2) );
// bool(false)
// 特例2
$pizza = "piece1 piece2 piece3 piece4 piece5 piece6";
var_dump( explode(",", $pizza, -2) );
// array(0) {
// }
strpos()函数
查找针字符串在大海字符串中首次出现的位置,返回整型位置,或没找到false
strpos(大海字符串,针字符串,默认为0的查找位置)
大海捞针,其他类型的针会被转成字符串,默认为0的查找位置可以设置为1,2,3等等,php7.1之后这个参数才支持负数,没找到返回false
// 忽视位置偏移量之前的字符进行查找
$newstring = 'abcdef abcdef';
$pos = strpos($newstring, 'a', 1); // $pos = 7, 不是 0
除此之外,strrpos ()函数则是 逆向查找首次出现的位置,或者说是 正向查找最后一次出现的位置。
substr()函数
获得目标字符串的子字符串
substr(目标字符串,整型开始位置,整型长度):子字符串或false
// 开始位置为负
$rest = substr("abcdef", -1); // 返回 "f"
$rest = substr("abcdef", -2); // 返回 "ef"
$rest = substr("abcdef", -3, 1); // 返回 "d" // 截取的长度为负
$rest = substr("abcdef", 0, -1); // 返回 "abcde"
$rest = substr("abcdef", 2, -1); // 返回 "cde"
$rest = substr("abcdef", 4, -4); // 返回 ""
$rest = substr("abcdef", -3, -1); // 返回 "de" // 返回false的情况
$rest = substr("abcdef", 7, 1); // 返回 false
$rest = substr("abcdef", 2, -5); // 返回 false // 返回空字符串
$rest = substr("abcdef", 1, -5); // 返回 ''
$rest = substr("abcdef", 1, 0); // 返回 ''
$rest = substr("abcdef", 1, false); // 返回 ''
$rest = substr("abcdef", 1, null); // 返回 ''
php中比较复杂但又常用的字符串函数的更多相关文章
- 【python游戏编程之旅】第四篇---pygame中加载位图与常用的数学函数。
本系列博客介绍以python+pygame库进行小游戏的开发.有写的不对之处还望各位海涵. 在上一篇博客中,我们学习了pygame事件与设备轮询.http://www.cnblogs.com/msxh ...
- php常用的字符串函数
addslashes -- 使用反斜线引用字符串 chr -- 返回相对应于 ascii 码值所指定的单个字符. chunk_split -- 将字符串分割成小块 count_chars -- 返回 ...
- 常用的字符串函数-S
header('content-type:text/html;charset=utf-f'); /* $var=addslashes($_GET['username']);//转义表单提交内容中的引号 ...
- 内核开发知识第一讲.内核中的数据类型.重要数据结构.常用内核API函数.
一丶内核中的数据类型 在内核中.程序的编写不能简单的用基本数据类型了. 因为操作系统不同.很有可能造成数据类型的长度不一.而产生重大问题.所以在内核中. 数据类型都一定重定义了. 数据类型 重定义数据 ...
- mysql中常用的字符串函数
写在分割线之前,个人以为,数据库应该具备简单的的数据加工能力.如同食品在吃之前,是要经过很多到工序的,有经过初加工.粗加工.精加工.深加工等.那么mysql也应该并必须担任起数据初加工以及粗加工的责任 ...
- PHP中常用的字符串函数?
1.strlen() 2.strpos() 3.mb_strlen()
- C常用的字符串函数实现
/** 查找字符串 source 中 是否有指定的子串出现,如果有返回第一个匹配的字符 @param source 源 @param chars 目标 @return 返回值 */ char *fin ...
- 【C】常用的字符串函数
1. strcpy 函数名:strcpy 用法:char *strcpy(char *destin, char *cource) 功能:将一个字符串从一个拷贝到另外一个 程序示例: #include ...
- oc语言常用的字符串函数
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { ...
随机推荐
- OpenFOAM当中物性参数的设置
固体当中物性参数的设置: FoamFile { version 2.0; format ascii; class dictionary; object thermophysicalProperties ...
- Pycharm中直接安装第三方库
1.点File->Settings 2.在project interpreter(项目解释器)中点击“+”号 3.输入第三方库进行查询,并安排 4.安装成功
- 2019-2020-1 20175313 《信息安全系统设计基础》实现mypwd
目录 MyPWD 一.题目要求 二.题目理解 三.需求分析 四.设计思路 五.伪代码分析 六.码云链接 七.运行结果截图 MyPWD 一.题目要求 学习pwd命令 研究pwd实现需要的系统调用(man ...
- graph embedding 使用方法
无论是network embedding 还是graph embedding都是通过节点(node)和边的图,学出每个节点的embedding向量. 比较流行的算法有: Model Paper Not ...
- [root@offical nginx]# nginx -t nginx: [emerg] module "/usr/lib64/nginx/modules/ngx_http_geoip_module.so" version 1012002 instead of 1016001 in /usr/share/nginx/modules/mod-http-geoip.conf:1 nginx: con
[root@offical nginx]# nginx -tnginx: [emerg] module "/usr/lib64/nginx/modules/ngx_http_geoip_mo ...
- 算力和AI-ZILLIZ
特征向量检索加速.https://www.zilliz.com/ 公司介绍: MegaWise异构众核加速数据库 MegaWise是ZILLIZ独立自主研发的新一代异构众核加速数据库系统.MegaWi ...
- Composer 安装 Jira API 库
环境要求: PHP >= 5.5.9 php JsonMapper phpdotenv 安装 下载安装 Composer curl -sS https://getcomposer.org/ins ...
- flutter Sliver滑动视图组件
import 'package:flutter/material.dart'; import './model/post.dart'; class SliverDemo extends Statele ...
- java-mybaits-014-数据库缓存设计【querycache、mybatis一级缓存、二级缓存】
一.概述 一般来说,可以在5个方面进行缓存的设计: 1.最底层可以配置的是数据库自带的query cache, 2.mybatis的一级缓存,默认情况下都处于开启状态,只能使用自带的Perpetual ...
- 使用Commons math做数值计算
使用Commons math做数值计算 觉得有用的话,欢迎一起讨论相互学习~Follow Me 最近使用jmetal做多目标的时候,想用一些简单的方法求最大值最小值方差和协方差矩阵,但是原生代码真的是 ...