PHP笔记02-字符串

  • 不可见字符是比较特殊的一类字符,它主要用来控制字符串格式化输出,在浏览器上不可见。如:\n(换行符)、\r(回车符)、\t(Tab字符)。
  • ★任何变量在双引号中都会被转换成它的相应的值进行输出显示,而单引号的内容是“所见即所得”。

PHP笔记02-字符串_第1张图片

  • PHP允许在双引号中直接包含字符串变量。如:echo "$name1$name2.com";
  • 去除字符串首尾空格和特殊字符:trim()函数去除字符串左右两边的空格和特殊字符;ltrim()去除左边的,rtrim()去除右边的。

PHP笔记02-字符串_第2张图片

  • 转义字符串,只需要在前面加上“\”符号。自动转义、还原字符串,使用addslashes()函数和stripslashes()函数。
  1. 对指定范围内的字符串进行自动转义和还原,使用addcslashes()函数和stripcslashes()函数。
  2. 其他非字母和数字且ASCII码小于32和大于126的字符转换成八进制。
  • strlen()函数用来获取指定字符串的长度,也可以用同来检测字符串的长度。汉子占两个字符,数字、英文、小数点、下划线、空格占一个字符。echo strlen($msg); if(strlen($msg)<6){…}
  • 截取字符串:substr()函数。如果指定开始截取的位置为负数,则从字符串的末尾开始截取。如果指定截取字符的个数length为负数,则取到倒数第length个字符。

【经典应用】:使用substr()函数截取超长标题,对标题超出15个字的部分采用“……”表示。

PHP笔记02-字符串_第3张图片

  • 比较字符串方式一:使用strcmp()函数和strcasecmp()函数按照字节比较。比较结果显示:前和后相同为0,前>后为大于0,前<后为小于0.

区别:strcmp()区分大小写,而后者不区分大小写。应用:使用strcmp()区分大小写可以判断输入的用户名和密码是否正确

    PHP笔记02-字符串_第4张图片 

  • 字符串比较方式二:strnatcmp()自然比较,比较字符串中的数字部分。strnatcasecmp()不区分大小写。

比较结果显示:前和后相同为0,前>后为大于0,前<后为小于0. (注意:这样比较10<2)。

PHP笔记02-字符串_第5张图片

  • 字符串比较方式三:strncmp()函数比较字符串中前n个字符,区分大小写。前和后相同为0,前>后为大于0,前<后为小于0.

  • 使用strstr()函数查找指定的关键字,区分大小写。例:echo strstr("明日编程词典","编"); //结果为“编程词典”。

经典应用:使用strstr()函数检测上传的图片的格式是否正确。[注:strchr()函数正好相反,从字符串后序的位置开始检索子字符串的。]

  • 使用substr_count()函数检索字串出现的次数,常用于搜索引擎中,针对子串在字符串中出现的次数进行统计,便于用户第一时间掌握子串在字符串中出现的次数。

  • 替换字符串——str_ireplace()函数:使用新的子字符串替换原始字符串中被指定要替换的字符串。

该函数不区分大小写,若要区分大小写需使用str_replace()函数。该函数经典应用:查询关键字描红(适用于模糊查询)。

PHP笔记02-字符串_第6张图片

替换字符串——substr_replace()函数:对指定字符串中的部分字符串进行替换

 

格式化字符串:number_format()函数格式化数字。可以有一个参数或两个参数或四个参数(不能有3个参数)。

PHP笔记02-字符串_第7张图片

分割字符串:explode()函数,若使用print_r()函数则输出数组,若使用echo语句则输出数组元素。合成字符串——implode()函数

PHP笔记02-字符串_第8张图片

14. 关于字符串的细节问题

(14.1)转义符“\”,例如要输出“’C:\’”,需要写成“’C:\\’”;“’What’s’”要写成“’What\’s’”。

(14.2)双引号支持的常用的转义符号:

PHP笔记02-字符串_第9张图片

(14.3)使用定界符定义字符串:字符串内容)… mark  ?>

(14.4)关于截取字符串substr()的使用:

PHP笔记02-字符串_第10张图片

 15.字符串的格式化

(15.1)printf()函数[直接输出]sprintf()函数[需要使用echo输出]

PHP笔记02-字符串_第11张图片

PHP笔记02-字符串_第12张图片

(15.2)nl2br()函数:将字符串中的换行符“\n”转换为HTML中的“
”然后显示出来。

PHP笔记02-字符串_第13张图片

(15.3)wordwrap()函数:指定从某列字符进行强制换行

PHP笔记02-字符串_第14张图片

  

(15.4)修改字母大小写函数:strtolower()函数、strtoupper()函数、ucwords()函数。

PHP笔记02-字符串_第15张图片

16.计算字符串的长度与数目

(16.1)strlen()函数:返回字符串的长度

(16.2)substr_count()函数:确定一个指定的子字符串在所提供的字符串中有多少个。

PHP笔记02-字符串_第16张图片

(16.3)str_word_count()函数:统计某个单词出现的数目

PHP笔记02-字符串_第17张图片

PHP笔记02-字符串_第18张图片

 17.字符串的查找与处理

(17.1)strstr()函数:查找子字符串,返回子字符串第一次出现后的所有内容。

[备注:如果要忽略字母大小写,可以使用stristr()函数,用法相同]

(17.2)strpos()函数:查找字符串的位置,返回一个字符串在另一个字符串中第一次出现的位置。如果要忽略字母大小写,可以使用stripos()函数,用法相同

PHP笔记02-字符串_第19张图片

(17.3)str_repeat()函数:字符串复制

PHP笔记02-字符串_第20张图片

(17.4)strrev()函数:反转字符串

(17.5)substr_replace()函数:字符串替换

PHP笔记02-字符串_第21张图片

PHP笔记02-字符串_第22张图片

 18.切分与合并字符串

(18.1)explode()函数:用指定的分隔符把字符串切分成数组

PHP笔记02-字符串_第23张图片

PHP笔记02-字符串_第24张图片    

(18.2)str_split()函数:将一个字符串分割成等长度的多个子字符串。

PHP笔记02-字符串_第25张图片

(18.3)implode()函数:将数组的元素连接起来成为字符串。

PHP笔记02-字符串_第26张图片

PHP笔记02-字符串_第27张图片

19.字符串的比较

(19.1)strcmp()函数可以精确的比较两个字符串的大小

PHP笔记02-字符串_第28张图片

(19.2)strncmp()函数可以选择想要比较的字符串长度(字符个数)

PHP笔记02-字符串_第29张图片

PHP笔记02-字符串_第30张图片

1.PHP中可以通过超级全局变量数组$_SERVER[] HTTP_ACCEPT_LANGUAGE得到浏览器的语言环境:

PHP笔记02-字符串_第31张图片

  • 用于设置本地系统环境的信息是setlocale()函数。

 

【字符串加密】

  • 在PHP中,能对数据进行加密的函数主要有:crypt()、md5()和sha1(),还有加密扩展库:Mcrypt和Mhash.
  • 使用crypt() 函数可以完成单向加密功能,密文不可还原成明码,并且每次加密后的数据还不相同:string crypt(string str [,string salt])

PHP笔记02-字符串_第32张图片

  • 使用md5() 函数和使用sha1() 函数加密:

PHP笔记02-字符串_第33张图片

  • PHP加密扩展库(1):Mcrypt扩展库可以实现 加密解密功能,技能将明文加密,也可以将密文还原。

PHP笔记02-字符串_第34张图片

  • Mcrypt() 工作流程。

PHP笔记02-字符串_第35张图片

  • PHP加密扩展库(2):Mhash扩展库则包含了MD5在内的多种hash算法实现的混编函数。

PHP笔记02-字符串_第36张图片

  • Mhash应用:

PHP笔记02-字符串_第37张图片

【代码】https://github.com/rxbook/study-php/tree/master/code02

你可能感兴趣的:(PHP基础笔记)