字符串的定义方法

使用单引号或双引号定义字符串

定义的时候如果字符串中存在其它变量,那么如果使用双引号,
则输出该字符串的时候
该变量会被当做该变量的值输出。
如果使用单引号,则输出该变量的字符。
单引号的特征即为“所见即所得”
双引号中的内容是经过php的语法分析器解析过的。
故而会将变量的值直接输出。

使用定界符定义字符串

定界符(<<<)
定界符用于定义格式化的大文本,文本中不需要转义字符。
且定界符内不能添加注释。
结束标识符需顶格,且不能在本行内添加任何其它的字符,标志(;分号除外)。

字符串操作

trim()函数

可以用于去除字符串左右两边的空格和特殊字符。

ltrim()函数

可以用于去除字符串左边的空格和字符。

rtrim()函数

右边。

如不额外说明,则会去除字符串左右的换行,空值等字符。
额外说明示例如下:
echotrim($a,”#”);
具体如何实现尚不明确,有时候会去掉一个字符,有时为两个。等后续明白原理再来补充。

转义,还原字符串数据

1.手动进行

如想在字符串中表示I’m
则可以使用转义符“\”
转义符后的第一个字符会变得没有意义或者有特殊意义。
在字符串中的书写形式便为“I\’m”
$a=”\’m”;
$b=’\’m’;
echo$a;
echo$b;
前一个输出的结果为“\’m”
后一个输出结果为“’m”
即该转义符若在双引号内按照其符号如实输出
在单引号内则具有转义效果。

2.自动进行

addslashes()函数
使用反斜线引用字符串
striplashes()函数
反引用一个引用字符串
addcslashes(str,charlist)函数
charlist指定在字符串中哪些字符前面加上\
stripcslashes(str)函数
对addcslashes()函数转义的字符串的还原。

获取字符串的长度

strlen()函数

截取字符串

采用预定义函数substr()
示例如下
substr(”abcdefg”,0)//从第一个开始截取
substr(”abcdefg”,1,3)//从第二个开始,截取三个
substr(”abcdefg”,-1,3)//从倒数第一个开始,截取三个
substr(”abcdefg”,0,-1)//从第一个开始截取,截取到倒数第一个。

echo substr(”str”,0,10).”……”//达到输出文本前十个字符,后面改为省略号的目的。

比较字符串

strcmp(str1,str2)
前者大返回大于0
反之返回小于0
相等返回0
与c同。

strcasecmp()
不区分字符大小写,其余相同。

strnatcmp()
按照自然排序法比较
从左到右比,数字自然排序法,字符ASCII码。

strncmp(str1,str2,n)
n表示两字符串的前n项进行比较

检索字符串

1.使用strstr(str,str)函数查找指定的关键字

用于获取一个指定字符串在另一个字符串中首次出现的位置到后者末尾的子字符串。
如果执行成功,返回剩余字符串,否则返回false。
前者为被从中搜索的字符串,后者为想要搜索到的字符串。
若后者为数字,则搜索与之ASCII相符的字符。

2.使用substr_count()函数检索子串出现的次数。

前者为被从中检索的字符串,后者为想要找到的字符。

3.替换字符串

str_ireplace()函数

str_ireplace(str1,str2,str3,n)
str3是被操作的字符串
str1被替换为str2,
替换n次。

substr_replace(str1,str2,n,m)

从头到尾分别为,被替换的字符串(整个),被替换为的字符串,从第几位开始替换,替换几位。

格式化字符串

格式化数字

number_format(a,b,c,d)
a为被格式化的数字。
只有a的话格式化后a保留整数。
有a,b,的话会保留b位小数。
c,d需同时写
c表示,小数点被替换为c。
d表示,千位分隔符被替换为d。
示例如下:
$a=12345.6789;
echonumber_format($a,3,’‘,’^’);
显示
12^345
679

分割,合成字符串

分割
$a=”gwoi@fewo@geu@vsnvnl@sfd”;
$b=explode(“@”,$a);
print_r($b);
Array ( [0] => gwoi [1] => fewo [2] => geu [3] => vsnvnl [4] => sfd )
代码及输出结果如上。
第一个为切割边界字符,切割后舍去,第二个为被切割字符。
后面还可以带上一个数字n,表示返回的数组最多包含n个元素,若分割数目比n大,则第n个及之后的元素都被划分在第n个元素中。
合成
implode()函数可以将数组的内容组合成一个新字符串。
$c=implode(“@”,$b);
echo$c;
紧跟在上方分割之后,则可以输出最初的$a字符串。
前者为衔接所用字符,后者为所要衔接的数组。
若前者直接引号括起来,不输入任何内容,则会直接衔接。