1,字符串的声明
(1)可以使用单引号和双引号
区别:双引号中可以解析变量,可以使用所有的转义字符
(2)使用定界符 <<<
2,字符串的处理
主要使用字符串用于,分割、匹配、查找、替换
3,字符串处理函数
特点:
一,如果是其他类型的数据,也可以使用字符串处理函数处理,处理过程是先将其他类型的数据自动转成字符串再处理。
二,字符串可以像数组一样,通过下标来访问到每个字符,但类型不是数组,是字符串
三,字符串除了有英文的,还有中文的(不同的编码占的字节数不同,UTF8占3个字节)
(1)strlen("hello");统计字符串的长度
(2)$str[0].$str[1];访问字符串$str的第一个和第二个元素,类型是字符串。(也可以用{}来访问下标),同样可以用下标来修改元素,但如果用几个字符来赋值一个字符,只取第一个元素,与字符串的存放有关。
(3)对象和数字都可以在字符串中访问
如:echo "aaaaaaaaaaa {$int["one"]} aaaaaaaaaaaa" 数组
echo "aaaaaaaaaaa {$a->one} aaaaaaaaaaaa" 对象
(4)常用的字符串输出函数
substr(); 截取字符串中的一部分。清注意汉字的多字节。处理多字节的使用mb_substr()
var_dump(); print_r(); echo(); print(); printf(); sprintf();die()
介绍echo();和print()的区别
1,echo和print都可以使用括号也可以不使用,如echo "fregrg"; 或echo("frgerh");但printf是有返回值的(可以使用var_dump()打印显示),echo则没有
2,echo可以打印多个值(不加()的格式才能打印),如echo "frg","fgeg","fge";但print不行
die(); exit(); 输出并退出程序,如die("frgrg");
介绍printf和sprintf的区别
1,两者都是格式化字符串
2,printf()格式化输出,如:printf("%c", $int);
3,sprintf()格式化返回,$str = sprintf("%c", $int),这是没有输出,可以使用echo $str;输出
(5)加密函数
md5("1233"); 加密1233。最好多层加密,如 md5($str."1233");来双层加密$str数据
(6)字符串的比较
1,使用等号比较字符串(常见) $str1 == $str2 ,区分大小写。如果不区分大小写比较,就都转成大写或者都转化成小写
2,二进制安全字符串比较 int strcmp(string $str1, string $str2) 如果1小于2,输出为负。如果1大于2,输出为正。如果相等返回0。这个比较一个个用ASCII码比较
3,strcasecmp与strcmp用法一样,只是前者不区分大小写
4,按自然顺序比较按照strcmp比较 file11比file2小,但strnatcmp()比较就前者比后者大,同理strnatcasecmp()不区分大小写
5,usort($arr, strnatcasecmp) 可以将一个数组内的元素进行排序