php基础知识【函数】(3)字符串string
一、大小写转换
1、strtolower()--转换为小写。
echo strtolower("Hello WORLD!"); //hello world!
2、strtoupper()--转换为大写。
echo strtoupper("Hello WORLD!"); //HELLO WORLD!
3、ucfirst()--把首字母转换为大写。
echo ucfirst("hello world"); //Hello world
4、ucwords()--把每个单词转换为大写。
echo ucwords("hello world"); //HELLO WORLD
二、查找位置
1、stripos()--返回字符串在另一字符串中第一次出现的位置(不区分大小写)
echo stripos('rewgf 5465','5');//6 指针从0开始
2、strpos()--返回字符串在另一字符串中第一次出现的位置(对大小写敏感)
echo strpos("fsdDfdw!","D");//=>3
3、strripos()--查找字符串在另一字符串中最后出现的位置(不区分大小写)
echo strripos('rewgf 5465','5');//9 指针从0开始
4、strrpos()--查找字符串在另一字符串中最后出现的位置(对大小写敏感)
echo strrpos("fsdDfdw!","D");//3
三、替换
1、str_ireplace() --替换字符串中的一些字符。(对大小写不敏感)
(1)、echo str_ireplace("world","John","Hello world!");//Hello John!
(2)、$arr = array("blue","red","green","yellow");
print_r(str_ireplace("red","pink",$arr,$i)); //array("blue","pink","green","yellow");
echo "Replacements: $i"; //1
(3)、$find = array("Hello","world");
$replace = array("B");
$arr = array("Hello","world","!");
print_r(str_ireplace($find,$replace,$arr)); //Array([0] => B[1] =>[2] => !)
2、str_replace()--替换字符串中的一些字符。(对大小写敏感)
echo str_replace("world","John","Hello world!");//Hello John!
3、substr_replace(string,replacement,start,length)--把字符串的一部分替换为另一个字符串。指针从0开始
(1)、echo substr_replace('acbabcabc','a',2);//aca 从第2个字符开始,把后面的字符都换成a
(2)、echo substr_replace('acbabcabc','a',2,2);//acabcabc 从第2个字符开始,把2个字符换成a
四、截取字符串
1、substr(string,begin,length)--返回字符串的一部分。
(1)、substr('abcdef',1);//从第2个字符开始截取到最后 bcdef
(2)、substr('abcdef',1,3);//从第2个字符开始截取3个 bcd s
(3)、substr('abcdef',-2);//从倒数第2个字符开始截取 ef
(4)、substr('abcdef',-3,1);//从倒数第3个字符开始截取1个字符 d
(5)、echo substr('所这行不会有输出',3);//行不会有输出 每个汉字当是1个字符
2、strstr()--返回某字符串第一次出现后的所有字符串,对大小写敏感【别名strchr()】
(1)、echo strchr("fsdfdf world Hello world!","world");//=>world Hello world!
(2)、echo strchr("fsdfdf world Hello world!","d"); //dfdf world Hello world!
3、strpbrk()--返回某字符串第一次出现后的所有字符串,对大小写敏感,在多个字符串的处理上与上面的不同
(1)、echo strpbrk("fsdfdf world Hello world!","world");//=>dfdf world Hello world!,只取最后一个字符去匹配
五、字符串与数组转换
1、explode() ---把字符串分割为数组。
$str = "Hello world ";
print_r (explode(" ",$str));//=>Array([0] => 'Hello',[1] => 'world')
2、implode()---把数组元素组合为一个字符串。【别名join()】
$arr = array('Hello','World!','Beautiful','Day!');
echo implode(" ",$arr); //=>Hello World! Beautiful Day!
六、HTML与字符串转换
1、html_entity_decode() 把 HTML 实体转换为字符。
2、htmlentities() 把字符转换为 HTML 实体。
3、htmlspecialchars_decode() 把一些预定义的 HTML 实体转换为字符。
4、htmlspecialchars() 把一些预定义的字符转换为 HTML 实体。
七、删除空格和预定义字符
1、ltrim()---从字符串左侧删除空格或其他预定义字符。
$str = " Hello World!";
echo "With ltrim: " . ltrim($str); //=>With ltrim: Hello World!
2、rtrim()---从字符串右侧删除空格或其他预定义字符。
3、trim()---从字符串的两端删除空白字符和其他预定义字符。
八、比较字符串
1、strnatcasecmp()---使用一种“自然”算法来比较两个字符串(对大小写不敏感)
strnatcmp()使用一种“自然”算法来比较两个字符串(对大小写敏感)
在自然算法中,数字 "2" 小于数字 "10"。在计算机排序中,"2" 大于 "10",这是因为 "2" 大于 "10" 的第一个数字。
该函数返回:
0 - 如果两个字符串相等
-1 - 如果 string1 小于 string2
1 - 如果 string1 大于 string2
echo strnatcasecmp("2Hello world!","10Hello world!");//-1
echo strnatcasecmp("10Hello world!","2Hello world!");//1
echo strnatcasecmp("4Hello world!","Hello world!"); //-1
echo strnatcasecmp("Hello world!","4Hello world!"); //1
echo strnatcasecmp("Hello world!","Hello world!"); //0
echo strnatcasecmp("4Hello world!","4Hello world!");//0
echo strnatcasecmp("4Hello world!","0Hello world!");//1
2、strcasecmp(string1,string2,length) ----比较两个字符串。(对大小写不敏感)[参数都必须]
strcmp(string1,string2,length) 比较两个字符串。(对大小写敏感) [参数都必须]
strcmp(string1,string2) 比较两个字符串。(对大小写敏感)
该函数返回:
0 - 如果两个字符串相等
<0 - 如果 string1 小于 string2
>0 - 如果 string1 大于 string2
echo strncasecmp("Hello world!","Hello earth!",6);//0
echo strncasecmp("1Hello world!","2Hello earth!",1);//-1
echo strncasecmp("2Hello world!","2Hello earth!",1);//1
echo strncasecmp("Hello world!","Hello earth!",8); //18
3、strcoll() ---- 比较两个字符串(根据本地设置)(A<a 或 A>a)
该函数返回:
0 - 如果两个字符串相等
<0 - 如果 string1 小于 string2
>0 - 如果 string1 大于 string2
setlocale (LC_COLLATE, 'NL');
echo strcoll("Hello World!","Hello WORLD!");//-1
setlocale (LC_COLLATE, 'en_US');
echo strcoll("Hello World!","Hello WORLD!");//1
4、substr_compare() ---函数从指定的开始长度比较两个字符串。
该函数返回:
0 - 如果两字符串相等
<0 - 如果 string1 (从开始位置)小于 string2
>0 - 如果 string1 (从开始位置)大于 string2
echo substr_compare("Hello world","Hello world",0); //0
echo substr_compare("Hello world","world",6); //0
echo substr_compare("Hello world","WORLD",6,TRUE); //1 [ FALSE (对大小写敏感)]
九、添加和删除反斜杠
1、addcslashes() --- 函数在指定的字符前添加反斜杠
【在对 0,r,n 和 t 应用 addcslashes() 时要小心。在 PHP 中,\0,\r,\n 和 \t 是预定义的转义序列】
$str = "Hello, my name is John Adams.";
echo addcslashes($str,'m'); //=>Hello, \my na\me is John Ada\ms.
echo addcslashes($str,'A..Z'); //=>\Hello, my name is \John \Adams.
echo addcslashes($str,'a..z'); //=>H\e\l\l\o, \m\y \n\a\m\e \i\s J\o\h\n A\d\a\m\s.
echo addcslashes($str,'a..h'); //=>H\ello, my n\am\e is Jo\hn A\d\ams.
2、addslashes() --- 函数在指定的预定义字符前添加反斜杠。【 预定义符:单引号、双引号、反斜杠、NULL】
$str = "Who's John Adams?";
echo addslashes($str); //=>Who\'s John Adams?
3、stripcslashes() 删除由 addcslashes() 函数添加的反斜杠。
4、stripslashes() 删除由 addslashes() 函数添加的反斜杠。
十、uuencode编码和解码
1、convert_uuencode() --- 函数使用 uuencode 算法对字符串进行编码。
$str = "Hello world!";
echo convert_uuencode($str); //=>,2&5L;&\@=V]R;&0A `
2、convert_uudecode() --- 函数对 uuencode 编码的字符串进行解码。
$str = ",2&5L;&\@=V]R;&0A `";
echo convert_uudecode($str); //=>Hello world!
十一、md5加密
1、md5() --- 计算字符串的 MD5 散列。
$str = "Hello";
echo md5($str); //=>8b1a9953c4611296a827abf8c47804d7
2、md5_file()---计算文件的 MD5 散列。
$filename = "test.txt";
$md5file = md5_file($filename);
echo $md5file;//=>5d41402abc4b2a76b9719d911017c592
十二、其他
1、strlen()--获取字符串长度
2、strrev()--反转字符串,前后颠倒
3、strip_tags()--删除字符中的html标签
4、chunk_split() 函数把字符串分割为一连串更小的部分。
str = "Hello world!";
echo chunk_split($str,1,".");//=>H.e.l.l.o. .w.o.r.l.d.!.(分隔每个字符,并添加 ".")
echo chunk_split($str,6,"...");//=>Hello ...world!... (六个字符之后分割一次字符串,并添加 "...")
5、nl2br() ---在字符串中的每个新行 (\n) 之前插入 HTML 换行符 (<br />)。
echo nl2br("One line.\nAnother line."); //=>One line.
//=>Another line.
6、number_format() ---通过千位分组来格式化数字
echo number_format("1000000"); //1,000,000
echo number_format("1000000",2); //1,000,000.00
echo number_format("1000000",2,",",".");//1.000.000,00
7、parse_str() ---把查询字符串解析到变量中。
parse_str("id=23&name=John%20Adams");
echo $id."<br />"; //=>23
echo $name; //=>John
parse_str("id=23&name=John%20Adams",$myArray);
print_r($myArray); //=>Array([id] => 23,[name] => John Adams
8、chr() ---函数从指定的 ASCII 值返回字符。
echo chr(52); //=>4
echo chr(052); //=>*
echo chr(0x52); //=>R
9、substr_count()---计算子串在字符串中出现的次数。
10、wordwrap()---按照指定长度对字符串进行折行处理。
php基础知识【函数】(3)字符串string的更多相关文章
- C# 基础知识系列- 9 字符串的更多用法(一)
0. 前言 在前面的文章里简单介绍了一下字符串的相关内容,并没有涉及到更多的相关内容,这一篇将尝试讲解一下在实际开发工作中会遇到的字符串的很多操作. 1. 创建一个字符串 这部分介绍一下如何创建一个字 ...
- C语言基础知识-数组和字符串
C语言基础知识-数组和字符串 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.数组概述 在程序设计中,为了方便处理数据把具有相同类型的若干变量按有序形式组织起来的方式我们称为数组 ...
- Java基础知识强化59:String(字符串)和其他类型的相互转化
1. String类型 ---> 其他类型 (1)使用基本类型包装类的parseXXX方法 e.g:String(字符串)转化为int(整型) String MyNumber ="12 ...
- java基础知识回顾之---java String final类普通方法
辞职了,最近一段时间在找工作,把在大二的时候学习java基础知识回顾下,拿出来跟大家分享,如果有问题,欢迎大家的指正. /* * 按照面向对象的思想对字符串进行功能分类. * ...
- Python基础知识之认识字符串
Python有一个名为“STR”与许多方便的功能(有一个名为“串”,你不应该使用旧的模块),内置的字符串类. 字符串常量可以通过双或单引号括起来,尽管单引号更常用. 反斜杠工作单,双引号内的文字通常的 ...
- Java基础——数组应用之字符串String类
字符串String的使用 Java字符串就是Unicode字符序列,例如串“Java”就是4个Unicode字符J,a,v,a组成的. Java中没有内置的字符串类型,而是在标准Java类库中提供了一 ...
- Java基础知识强化29:String类之String类构造方法
1. 常用String构造方法使用: package cn.itcast_01; /* * 字符串:就是由多个字符组成的一串数据.也可以看成是一个字符数组. * 通过查看API,我们可以知道 * A: ...
- Java基础知识强化35:String类之String的其他功能
1. String类的其他功能: (1)替换功能: String replace(char old, char new) String replace(String old,String new) ( ...
- Java基础知识强化33:String类之String类的获取功能
1. String类的获取功能 int length() // 获取字符串中字符的个数(长度) char charAt(int index)//根据位置获取字符 int indexOf(int ch) ...
- C#基础知识-函数的定义和调用(五)
函数也可以称为方法,可以很方便的把一些行为封装到函数里面,当调用这一函数时会把函数块里面的代码按照顺序执行,方法可以有多种形式,有无参数,有无返回值等. 1. 函数的定义 函数定义的基本格式: s ...
随机推荐
- c++异常安全和copy and swap策略
异常安全有两个目标: 不泄露任何资源.这个通过RAII可以做到. 不破坏数据结构.这是下文要讨论的事情 异常安全有三个级别: 基本安全:异常发生后对象和数据结构还有合法状态.实现简单,应该作为最低要求 ...
- C# 中的协变和逆变
作为一个从接触 Unity 3D 才开始学习 C# 的人,我一直只了解一些最基本.最简单的语言特性.最近看了<C# in Depth>这本书,发现这里面东西还真不少,即使除去和 Windo ...
- 如何以非 root 用户将应用绑定到 80 端口-ssh 篇 » 社区 » Ruby China
如何以非 root 用户将应用绑定到 80 端口-ssh 篇 » 社区 » Ruby China 如何以非 root 用户将应用绑定到 80 端口-ssh 篇
- 了解各种AA特性
AA(Anti-Aliasing)抗锯齿想必不少玩家在游戏画质设定中经常会遇到,说通俗一点AA抗锯齿的作用:将图像边缘及其两侧的像素颜色进行混 合,然后用新生成的具有混合特性的点来替换原来位置上... ...
- node.js 安装
http://my.oschina.net/zhangdapeng89/blog/52793 windows 自带的 ims文件安装后 有 安装npm 点击bat文件可自动安装 npm 1安装 nod ...
- rsyslog 详解3
http://blog.clanzx.net/2013/12/31/rsyslog.html http://www.centosabc.com/archives/601 http://www.cnbl ...
- spring session工程发布--一种新的管理httpsession的方法
官方文档:http://spring.io/blog/2014/07/08/spring-session-1-0-0-m1-released 1. 优点: This project provides ...
- 亲测安装php
亲测安装php1.tar zvxf php-5.3.8.tar.gz 2.cd php-5.3.83../configure \ --prefix=/usr/local/php \--with-mys ...
- Asp.net主题(theme)和皮肤(skin)的使用
asp.net 的服务器端控件提供了多种样式的设计,如果对每个控件都单独设置,是比较繁琐的事情,所以微软也提供了针对这些服务器端控件的样式管理,其实也可以通过 css来控制部分服务器端控件的样式,比如 ...
- spring验证事务的代码,用到了mockito
package *.withdraw; import javax.annotation.Resource; import org.junit.Before; import org.junit.Test ...