1.单双引号的区别,定界符,双引号可以识别数组[]标记
//推荐{}
$arr=array('one'->100);
echo "aaa$arr['one']aaa";//报错,不能识别'
echo "aaa$arr[one]aaa";//aaa100aaa
echo "aaa{$arr[one]}aaa";//aaa100aaa,但会和同名常量冲突
echo "aaa{$arr['one']}aaa";//aaa100aaa
echo "aaa{$arr["one"]}aaa";//aaa100aaa
class Square {
public function width(){}
};
$square = new Square();
echo "aaa $square->width aaa"//OK
echo "aaa $square->width00 aaa"//没有特殊符号间隔,不能解析
echo "aaa {$square->width}00 aaa"//OK
2.字符串处理函数,隐式转换为字符串再处理,如数组长度count()/字符串长度strlen(),注:count('')为1(和JS区别)
3.建议这样访问元素(区别于数组):$str{1},注:每个字符有相应的内存空间,只能装下一个
<?php
$str='hello';
$str[2]='world';
echo $str;//hewlo
?>
4.字符串输出函数
a.substr($str,1,1);
b.mb_substr($str,1,1,'utf-8');//专门处理中文字符
c.echo/print:print有返回值;echo指令方式可以打印多个参数,逗号隔开
d.die/exit:输出一个字符串并退出程序
e.printf():格式化输出,参数如图:
<?php
$int=100.678;
printf("%1.2f,%d,%c"$int,$int,$int);//100.68,100,d
?>
f.chr/ord:查找ASC的相应字符/查找ASC
g.sprintf():格式化返回,如下:
<?php
$int=100.678;
$str=sprintf("%1.2f,%d,%c"$int,$int,$int);//100.68,100,d
?>
echo $str;//100.68,100,d
5.字符串转换函数
<?php
$str="gggddd8hhhhello worldhhh8gggddd";
$nstr=trim($str,"0..9gd");//0到9和包含gd的全删
echo $nstr;//hhhhello worldhhh
?>
c.str_pad():按需求填充字符串
<?php
$str="hello world";
$nstr=str_pad($str,19,"#",STR_PAD_BOTH);
echo $nstr;//####hello world####
?>
d.改变大小写函数:strtolower/strtoupper/ucfirst/ucwords
6.HTML字符串格式化函数
a.htmlspecialchars():HTML标记转换函数
<?php
if(isset($_POST['dosubmit'])){
//输入任何内容直接输出
echo htmlspecialchars($_POST['shuru']);
}
?>
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<form action="" method="post">
<label for="shuru">title:</label><input type="text" id="shuru" name="shuru"/>
<button type="submit" name="dosubmit">提交</button>
</form>
</body>
</html>
b.HTML特殊符号添加转义字符函数:addslashes();
c.HTML特殊符号去掉转义字符函数:stripslashes();
d.删除HTML标签:strip_tags($str,'<b><u>'); //只保留bu
e.\n转br:nl2br();
7.字符串格式化函数
md5(md5($str).'niwota');//多层md5进行加密
8.字符串比较函数
a.==比较 b.二进制安全比较,即逐个字母的ASCII比较,区分大小写:strcmp($str1,$str2);//返回1/-1/0 c.同上,不区分大小写:strcasecmp(); d.按自然顺序比较:strnatcmp();/strnatcasecmp(); e.自定义排序:usort($arr,'strnatcasecmp');
9.字符串查询函数
strstr('name@example.com','@');//@example.com:
strstr('name@example.com','@',true);//name:
c.stristr():不区分大小写,同上
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。