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中比较复杂但又常用的字符串函数的更多相关文章

  1. 【python游戏编程之旅】第四篇---pygame中加载位图与常用的数学函数。

    本系列博客介绍以python+pygame库进行小游戏的开发.有写的不对之处还望各位海涵. 在上一篇博客中,我们学习了pygame事件与设备轮询.http://www.cnblogs.com/msxh ...

  2. php常用的字符串函数

    addslashes -- 使用反斜线引用字符串 chr -- 返回相对应于 ascii 码值所指定的单个字符. chunk_split -- 将字符串分割成小块 count_chars --  返回 ...

  3. 常用的字符串函数-S

    header('content-type:text/html;charset=utf-f'); /* $var=addslashes($_GET['username']);//转义表单提交内容中的引号 ...

  4. 内核开发知识第一讲.内核中的数据类型.重要数据结构.常用内核API函数.

    一丶内核中的数据类型 在内核中.程序的编写不能简单的用基本数据类型了. 因为操作系统不同.很有可能造成数据类型的长度不一.而产生重大问题.所以在内核中. 数据类型都一定重定义了. 数据类型 重定义数据 ...

  5. mysql中常用的字符串函数

    写在分割线之前,个人以为,数据库应该具备简单的的数据加工能力.如同食品在吃之前,是要经过很多到工序的,有经过初加工.粗加工.精加工.深加工等.那么mysql也应该并必须担任起数据初加工以及粗加工的责任 ...

  6. PHP中常用的字符串函数?

    1.strlen() 2.strpos() 3.mb_strlen()

  7. C常用的字符串函数实现

    /** 查找字符串 source 中 是否有指定的子串出现,如果有返回第一个匹配的字符 @param source 源 @param chars 目标 @return 返回值 */ char *fin ...

  8. 【C】常用的字符串函数

    1. strcpy 函数名:strcpy 用法:char *strcpy(char *destin, char *cource) 功能:将一个字符串从一个拷贝到另外一个 程序示例: #include ...

  9. oc语言常用的字符串函数

    #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { ...

随机推荐

  1. gitconfig别名配置

    vim ~/.gitconfig 进行配置 [user] name = Your Name email = you@yourdomain.example.com [core] editor = vim ...

  2. kubernetes架构和组件

    一.Kubernetes整体架构 Kubernetes属于主从分布式架构,主要由Master Node和Worker Node组成,以及包括客户端命令行工具kubectl和其它附加项. Master ...

  3. MAC 上抓取网页数据的工具有哪些?

    我希望能够从网页上, 比如气象局数据, 财经数据等等, 我看到官方提供的数据都比较混乱, 有的是一个php文件, 有的是一个文本, 有的干脆不提供数据, 我想问, Mac上, 用什么工具去抓数据, 以 ...

  4. Firefox disable search in the address bar

    disable search in the address bar Hi oitconz, setting keyword.enabled to false prevents Firefox from ...

  5. Workstation 14 Returns EFI Network Start PXE over IPv4 When Installing New Win10 Guest O/S

    当启动出现“Click any key to boot from DVD”时候,需要键盘点击一下,即可解决. 参考:https://communities.vmware.com/thread/5730 ...

  6. Python3基础 函数 多值参数 元组与字典形式(键值对分别指出)

             Python : 3.7.3          OS : Ubuntu 18.04.2 LTS         IDE : pycharm-community-2019.1.3    ...

  7. 004-行为型-11-解析器模式(Interpreter)

    一.概述 提供了评估语言的语法或表达式的方式.这种模式实现了一个表达式接口,该接口解释一个特定的上下文.这种模式被用在 SQL 解析.符号处理引擎等. 意图:给定一个语言,定义它的文法表示,并定义一个 ...

  8. Python高级笔记(六)-- property属性【重要】

    1. property属性 目的:简化逻辑流程 class Goods(object): @property def size(self): return 100 obj = Goods() ret ...

  9. Spring cloud微服务安全实战-4-3常见的微服务安全整体架构

    整体架构 这个图适合中小公司.麻雀虽小 五脏俱全.微服务架构所需要做的事在这个图里基本都有了. 绿色的不讲,主要讲的是这三块(橘黄色的).后面的和运维相关,会讲,不会讲的太深 订单服务 首先来写一个订 ...

  10. Anti Pattern - ThreadLocal variables with Thread Pool(转)

    In a previous post, I wrote the usage and benefits of ThreadLocal based instance variables in concur ...