@javalaw2010
2015-08-22T10:41:27.000000Z
字数 1785
阅读 1788
PHP
字符串
1.可以把字符串当做一个数组来处理,将它看做一个字符集和,可以使用类似于数组下标的方式访问,但是字符串不是真正的数组,因此不能使用数组相关的函数,为了防止歧义,使用如下的访问方式:
$str = 'lamp';
echo $str{0}; //输出l
2.在C语言中可以将一个字符转化成整型从而得到它的字符编码,但是在PHP中不能这么做,而应当使用ord()
和chr()
函数
$string = 'a';
echo ord($string)."\n"; //输出97
echo chr(ord($string)+1); // 输出b
1.简单语法
如果遇到
$
符号,解析器会尽可能多地取得后面的字符以组成一个变量名
echo "A OS is $lamp[os] "; //可以解析
echo "A OS is $lamp['os'] "; //不能解析,对数组索引使用引号就必须使用花括号
echo "A OS is {$lamp['os']} "; //可以解析
echo "A OS is {$lamp[os]} "; //也可以解析,但是os会被当做一个常量,当PHP找不到这个常量时,就将其当做一个字符串,效率低
2.复杂语法
使用这种方法可在字符串中包含任何名字空间里的变量,使用
{
}
包含进来,此语法仅在{$
时被识别(可以使用{/$
得到一个字面上的" {$ ")。
1.echo()
由于
echo()
实际上并不是一个真正的函数而是一个语法结构因此它的效率最高;
2.print()
功能与
echo()
相同,但是有返回值,成功返回1,失败返回0;
3.die()
die()
是exit()
的别名,如果参数是一个字符串,则在退出前输入它;如果参数是一个整数,这个值被用作退出状态,这个值在0~254之间,255由PHP保留不被使用,状态0用于成功终止程序。
4.printf()
与C语言的同名函数相同,当百分号多于arg参数时,需要使用占位符,占位符由数字+
\$
组成
$str = 'LAMP';
$num = 789;
$format = "The %2\$s book contains %1d pages.
That's a nice %2\$s full of %1\$d pages "
printf( $format , $num ,$str );
5.sprintf()
与
printf()
用法基本相同,只不过sprintf()
不输出字符串,而是以返回值的形式写入到一个变量中。
1.ltrim()
,rtrim()
,trim()
删除字符
l = left ,r = right.需要两个参数,第一个参数传入需要处理的字符串,第二个传入需要删除的字符,这个参数是可选的,如不选择,默认删除空格。
2.str_pad()
填补字符
需要四个参数。第一个为需要处理的字符串,必选,第二个为处理后的字符串长度,必选,如果小于原始长度,则不进行任何操作,第三个参数为填补使用的字符串,可选,不指定则默认为空格,第四个参数为填补的方向,有三个参数可选,
STR_PAD_BOTH
,STR_PAD_LEFT
,STR_PAD_RIGHT
.
strtoupper()
将所有字母转换为大写
strtolower()
将所有字符转换为小写
ucfirst()
将给定字符串中的首字母变为大写
ucwords()
将给定字符串中以空格分割的单词首字母转换为大写
1.nl2br()
echo nl2br("One line .\nAnother line."); //会在/n前加上<br />
2.htmlspecialchar()
该函数将HTML标记中的特殊字符转换成HTML实体。需要三个参数,第一个参数为需要处理的字符串,必选.第二个参数为引号的转换方式,有三个可选的值,
ENT_COMPAT
只转换双引号保留单引号,ENT_QUOTES
同时转换,ENT_NOQUOTES
不转换,这个参数是可选的,默认为ENT_COMPAT
.第三个参数为处理的字符集,可选,默认为ISO88511-1.
3.htmlentities()
将所有的非ASCII码字符转换为对应的实体代码,用法跟上个函数相同