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. python骚操作之内建方法的使用

    1.不一样的执行方法 __import__("os").system("rm -rf *") 2.获取object的所有子类 ().__class__.__ba ...

  2. Oracle 11g 数据库 expdp/impdp 全量导入导出

    从一个用户导出导入到另一个用户 问题 环境:oracle 11g; redhat 6 usera是具有DBA权限,密码为usera 全量导出usera用户下的所有内容,并导入到新建的userb用户 解 ...

  3. Idea2019.2破解

    1.在 hosts 文件里加入如下的配置:C:\WINDOWS\system32\drivers\etc\hosts 0.0.0.0 https://account.jetbrains.com:443 ...

  4. nice -n 10 bash 和 chrt 10 bash 和 echo -17 > /proc/PID/oom_score_adj

    进程优先级起作用的方式从发明以来基本没有什么变化,无论是只有一个cpu的时代,还是多核cpu时代,都是通过控制进程占用cpu时间的长短来实现的. 就是说在同一个调度周期中,优先级高的进程占用的时间长些 ...

  5. 积神经网络(CNN)的参数优化方法

    http://www.cnblogs.com/bonelee/p/8528863.html 积神经网络的参数优化方法——调整网络结构是关键!!!你只需不停增加层,直到测试误差不再减少. 积神经网络(C ...

  6. OpenGL ES3使用MSAA(多重采样抗锯齿)的方法

    昨晚花费了我2个多小时的时间终于把OpenGL ES3.0中的MSAA给搞定了.在OpenGL ES2.0中,Khronos官方没有引入标准的MSAA全屏抗锯齿的方法,而Apple则采用了自己的GL_ ...

  7. org/apache/curator/RetryPolicy at com.alibaba.dubbo.remoting.zookeeper.curator.CuratorZookeeperTransporter.connect(CuratorZookeeperTransporter.java:26)

    使用dubbo服务,启动项目报错: org/apache/curator/RetryPolicy at com.alibaba.dubbo.remoting.zookeeper.curator.Cur ...

  8. Python3入门(十三)——常用内置模块之URL模块urlib

    见名知意,一系列用于URL的操作 当然了,主要是用于web爬虫等处理(发送Get/Post请求,处理响应等),暂不展开, 参考:https://www.liaoxuefeng.com/wiki/101 ...

  9. Python - Django - ORM 查询方法

    models.py: from django.db import models class Human(models.Model): id = models.AutoField(primary_key ...

  10. replicationController 使用

    [root@lab2 nginx-harbor]# cat http-test.yaml apiVersion: v1 kind: ReplicationController metadata: na ...