PHP复习_常用的字符串函数

1. php字符串四种表达方式

单引号:

该表达方式不能解析变量,除了转义符\\\

双引号:

解析变量,能够解析所有转义符

heredoc语法结构:

在代码中可以解析变量

echo <<
My name is "$name". I am printing some $foo->foo.
Now, I am printing some {$foo->bar[1]}.
This should print a capital 'A': \x41
EOT;
?>

nowdoc语法结构:

在代码中不能解析变量

$str = <<<'EOD'
Example of string
spanning multiple lines
using nowdoc syntax.
EOD;

 

2. 其他类型转换字符类型

2-1数值型转换成字符串型

数值->数值本身

echo 123;

echo
;

echo 34.5;

echo
;

PHP复习_字符串424.png

2-2布尔类型转换成字符串类型

echo true;

echo
;

echo A,false,B;

PHP复习_字符串487.png

注意:false转换成空字符串

2-3NULL转换成字符串

echo C,null,;D;

PHP复习_字符串538.png

注意:NULL也是转换成空字符串

2-4数组转换成字符串

$arr=array();

echo $arr;

PHP复习_字符串594.png

报提示并说明是数组array

2-5资源转换成字符串

$handle=fopen(index.php,r);

PHP复习_字符串655.png

echo $handle;

PHP复习_字符串671.png

2-6对象转换成字符串

$obj= new stdClass;

var_dump($obj);

echo $obj;

PHP复习_常用的字符串函数_第1张图片

2-7强制转换和临时转换

//临时转换

$var=123;

$var=23.3;

$res=(string)$var;

var_dump($res,$var);

PHP复习_字符串815.png

注意:临时转换本身的类型并没有发生变化

 

//永久转换

$str=king;

$str=123;

echo gettype($str);

PHP复习_字符串888.png

$var=12;

settype($var,string);

var_dump($var);

PHP复习_字符串939.png

2-8上述总结:

(1)转换成字符串的特殊

数值型->数值本身

true->1

false->空字符串

null->空字符串

=====

数组->Array

资源->resource id #数字

对象不能直接转换成字符串

(2)

临时转换和永久转换用到的函数

临时转换

$a=23;

(string)$a;或者strval($a)

永久转换

//settype($var,$type)设定类型

//gettype($var)得到类型

2-9字符串转换成其他类型

//取合法数字,如果不是以合法数字开始,转换成0

echo 1+3king;//4

echo 1.2+4abc;//5.2

echo 3+2e2;//203

echo 2+true;//2

2-10字符串转成布尔类型规律

//空字符串(’’),字符串(0),0,0,0.0,null,array()都是false,注意0.0字符串是true

3. 常用字符串函数分类

3-1字符串长度

strlen($string):得到字符串长度

3-2字符串查找

strpos($string,$search[,$offset]):在指定字符串中查找目标字符串第一次出现的位置

stripos($string,$search[,$offset]):忽略大小写的去查找

strrpos($string,$search[,$offset]):在指定字符串中查找目标字符串最后一次出现的位置

strripos($string,$search[,$offset]):忽略大小写的去查找最后一次出现的位置

strstr|strchr($string,$search[,$before_needle]):查找字符串的首次出现,返回的是字符串

stristr($string,$search[,$before_needle]):忽略大小写的去查找

strrchr($string,$search):查找指定字符在字符串中的最后一次出现

str_replace($search,$replace,$string):在指定字符串中查找另外一个字符串,找到之后将其替换成指定字符串

str_ireplace($search,$replace,$string):忽略大小写的去查找并替换

3-3字符串大小写转换

strtolower($string):返回小写之后的字符串

strtoupper($string):返回大写之后的字符串

ucwords($string):单词的首字母大写

ucfirst($string):字符串的单词的首字母大写

lcfirst($string):字符串的单词的首字母小写

3-4字符串截取

substr($string,$start[,$length]):截取字符串

substr_replace($string,$replace,$start[,$length]):替换字符串的子串

 

代码示例:

$string=abcdef;

echo substr($string,0,1);//a

echo substr($string,2,2);//cd

echo substr($string,3);//def

echo substr($string,-2);//ef

echo substr($string,-4,-2);//cd

echo substr($string,0,-3);//abc

echo substr($string,-4,-2);//cd

3-5字符串ASCLL

ord($char):得到指定字符的ASCII

chr($ascii):根据ASCII得到指定的字符

注意;大写ADec65,90Z;小写aDec97,122z

3-6加密

md5($string):计算字符串的md5的散列值,返回32位长度的字符串

sha1($string):计算字符串的sha1的散列值,返回40位长度的字符串

3-7过滤

trim($string[,$charlist]):默认过滤字符串两端的空格,也可以过滤指定字符串

ltrim($string[,$charlist]):过滤字符串左端

rtrim|chop($string[,$charlist]):过滤字符串右端

strip_tags($string[,$allowTag]):过滤字符串中的HTML标记

addslashes($string):使用反斜线引用字符串中的特殊字符

htmlentities($string[,$flag=ENT_COMPAT]):将所有字符转换成HTML实体

htmlspecialchars($string[,$flag=ENT_COMPAT]):将字符串中的特殊字符转换成HTML实体

nl2br($string):将字符串中的\n用
替换

3-8比较

strcmp($string1,$string2):比较两个字符串的大小

strcasecmp($string1,$string2):忽略大小写的比较字符串的大小

strnatcasecmp($string1,$string2):使用自然顺序算法比较字符串

strncasecmp($string1,$string2,$len):比较字符串的开始的若干个字符

 

代码示例:

/*

1--$str1>$str2

-1--$str1<$str2

0--$str1=$str2

*/

$str1=abcdef;//97

$str2=ac;//98

echo strcmp($str1,$str2);

3-9拆分/合并

explode($delimiter,$string):将指定字符串拆分成数组

implode|join($delimiter,$array):以指定分隔符将数组中的键值连接成字符串

str_split($string[,$split_length=1]):将字符串转换成数组

3-10格式化字符串

printf($format[,$args]):格式化输出字符串

sprintf($format[,$args]):格式化输出字符串

3-11其他常用

strrev($string):反转字符串

str_shuffle($string):随机打乱字符串

str_repeat($string):重复字符串

str_getcsv($input[,$delimiter=','[,$enclosure=''[,$escape='\\']]]):解析CSV字符串为一个数组

parse_str($str[,$arr]):将字符串解析成多个变量

4. 一些应用案例

4.1随机取字符串内的数值

mt_rand(从那个位置开始取,取值的长度)

$string=abcdefghijklmnopqistuvwsyz;

echo $string{mt_rand(0,strlen($string)-1)};

4.2验证用户名长度是否符合规范

PHP复习_字符串3849.png

$userLen=strlen($username);

4.3验证密码是否符合规范

PHP复习_常用的字符串函数_第2张图片

4.4验证邮箱是否符合规范

PHP复习_字符串3909.png

必须存在@符号

strpos($email,@)//@在字符串第一次出现的位置

4.5转换和统一输入的验证码和验证码

PHP复习_字符串3970.png

trim表示去掉两边的空格

strtolower表示将字符串全部小写

4.6验证用户名是否符合规范

PHP复习_字符串4022.png

大写的A~ZASCII码是:65~98

小写的a~zASCII码是:97~122

ord()函数可以获得某字符的ASCII

4.7验证密码是否一致

PHP复习_常用的字符串函数_第3张图片

strcmp()是比较两个字符串的大小,当全等于的时候为0

你可能感兴趣的:(PHP复习_常用的字符串函数)