1.啥是字符串?


说明:把你想要输出的内容,加上引号(包括双引号或者单引号),就是字符串。


比如:

$name1 = 'jack';
$name2 = "rose";


单引号和双引号的区别在于:双引号可以解析变量,而单引号不可以。什么叫解析变量?比如,上面我们定义了一个name1变量,值为jack,我希望把这个变量放到一个字符串中,就可以这样写:

$str = "{$name1}是男的。";

结果:

jack是男的。


而单引号没有这个功能。


2.字符串高级用法  --  定界符


语法:

$str = <<<定界符

大量的代码(HTML,CSS,JAVASCRIPT,PHP)

定界符; (两个定界符必须要一一致,比如EEE,结尾的定界符必须要顶格写)


因为这种写法生成的依然是字符串,所以,我们还是可以在代码中去解析变量。


例:

<?php
	
//深入讲解PHP字符串
$name1 = 'jack';
$name2 = "rose";

$str = <<<EEE

	<html>
		<head>
			<meta charset='utf-8'>
			<script>
				alert('{$name1}:哈哈哈');
			</script>
		</head>

		<body>

			<h1>这是用字符串生成的内容!</h1>

		</body>

	</html>


EEE;
echo $str;


?>

注意:用定界符的时候,EEE;后面不允许加任何东西,哪怕是一个空格,不然代码直接报语法错误!

3.字符串相关函数

3.1. 获取字符串长度  

count函数 、 sizeof函数 ==》 获取数组元素的个数

strlen   ==》获取字符串的字符个数

$user = "admin";
echo strlen($user);


3.2. 获取字符串长度  

判断两个字符串是否相同,相同返回0,不同返回1,区分大小写:strcmp(str $a,str $b);

判断两个字符串是否相同,相同返回0,不同返回1,不区分大小写:strcasecmp(str $a,str $b);


可以这样记忆,这两个函数代表的含义是,比较两个字符串的不同之处,如果有不同之处,那么自然就返回1,否则返回0.如果返回0,就是说两个字符串是相同的。

$user = "admin";
$user2 = "ADMIN";
echo strcmp($user,$user2); //没有case的是区分大小写  1
echo strcasecmp($user,$user2); //有case的是忽略大小写 0


3.3. 字符串大小写转化

小写转大写  strtoupper

大写转小写  strtolower


3.4. 将字符串按照某种分隔符切割,转化为数组

拆分字符串,返回数组:explode("拆分符",str $a);

$ids = "1,2,3,4,5,6";
$idsArr = explode(",", $ids);
var_dump($idsArr);

3.5.  将数组按照某种分隔符拼接,转化为字符串

$arr = array(1,2,3);
$ss = implode(",", $arr);
echo $ss;

3.5.  字符串截取替换

截取替换:substr_replace(str $a,"替换的字符/字符串",开始位置,【截取替换的长度】)

$user = "admin";
echo substr_replace($user, "M", 2,1);

在这个例子中,如果最后一个参数不传,那么就默认从start那个位置一直到字符串的结尾都替换成“M”。


3.6. 字符串查找替换

查找替换:str_repiace("字符串中需要替换的内容","替换的内容",str $a);

$user = "admin admin";
echo str_replace("m", "M", $user);

结果:

adMin adMin

这个方法会自动去替换原字符串中所有匹配到的项。


3.7. 字符串去掉首尾空格

trim 

$user = "       admin admin";

if (strcasecmp(trim($user), "admin admin") == 0) {
	echo "相同的";
}else{
	echo "不同的";
}


3.8. 字符串截取

函数名:substr

参数1:需要被截取的字符串

参数2:开始截取的位置(从0开始)

参数3:最后截取的位置(最大到strlen($str) - 1)

$line = "I love PHP";
echo substr($line , 2,5);

结果:love


3.9. 返回某个字符串第一次出现的位置到末尾的全部字符

函数名:strstr

参数1:需要被截取的字符串

参数2:开始的字符串

$line = "I love PHP";
echo strstr($line,"P");

结果:PHP