字符串处理

strlen(): 计算字符串长度. //strlen($str);
substr(): 取出子字符串. substr($string, int $start, [int $length])
start表示从字符串哪里开始, 若为负数则从结尾向前计算. length表示返回多少个字符串.若为负数从结尾向前计算.
例: $str = “0123456789”;
echo substr($str, 4, -2); //输出4567 echo substr($str, -4, 2); //输出67
strpos()和strrpos(): 计算子串在字符串出现的位置. strops是计算第一次出现.
strops($string, string $need, [int $length]) $need是子串. 而$length是从字符串位置的偏移
strrops($string, string $need, [int $length]) 它们的区别是. strrops是计算最后一次出现.
访问字符串中的字符可以直接在字符串变量后使用{ }.字符串通过偏移量(从0开始)对其进行直接操作. //$str = ‘123456’; echo $str[2]; 输出3
分割字符串: 使用函数explode() array explode(分割点, 字符串, [将字符串分割成多少])
该函数返回一个则被分割的子串组成的数组.
连接字符串: 使用函数implode() string implode(string $str, 数组) 返回的是一个字符串.
例: $arr = array('apple', 'banana', 'car');
echo implode('|', $arr); //输出apple|banana|car
删除字符串的空白: 使用trim()函数可以删除字符串前后的空白字符. trim(字符串, [空白字符])
空白字符包括: 空格  制表符\t  回车符\r  换行符\n  NULL\0  垂直制表符\v
ltrim()删除字符串前面的空白. rtrim()删除字符串后面的空白.
字符串的填补: 可以使用str_pad()函数 填补方向: STR_PAD_LEFT STR_PAD_RIGHT STR_PAD_BOTH
string str_pad(字符串, 给定处理后字符串长度, 填补的字符串, [填补方向])
例: $str = “apple”; echo str_pad($str, 10, ‘*’, STR_PAD_LEFT) // *****apple
字符串重复操作: 可以使用str_repeat(字符串, 操作次数)
字符串反转: 可以使用strrev(字符串)把字符反序排列.
字符串大小写转换
strtoupper(): 将给定字符串全部转换为大写字母.
strtolower(): 将给定字符串全部转换为小写字母.
ucfirst(): 将给定字符串的首字母转换为大写.
ucwords(): 将给定字符串全部单词的首字母转换为大写. 以空白为分隔.
字符串的比较
接字节比较: 可以使用strcmp(字符串1, 字符串2) 先从首字节开始, 如果前者大于后者(ASCII码), 则返回一个正数, 反之返回负数. 相等则进入下一个字节比较.全等则返回0.
注意: 若要进行忽略大小写的比较可以使用strcasecmp()
按自然排序: 这是一种将字符串按数学大小进行排序. 可以使用strnatcmp()
注意: 若要进行忽略大小写的比较可以使用strnatcasecmp()
模糊比较: 主要用于英文单词相似读音. 可以使用soundex()对某一单词计算出一个关键值.
simlar_text()用于两个字符串, 返回它们中相匹配的个数.
字符串的替换
字符替换: str_replace(string $search, string $replace, string $string)
       要替换的字符,      替换的字符,       所要处理的字符串
  str_replace(array $search, string $replace, string $string)
$search是包含多个目标字符串的数组. 函数将使用$replace字符串替换$search的元素.
例: $arr = array(‘a’,’e’,’i’,’o’, ‘u’);
$str = ‘replace all vowels in string’;
echo str_replace($arr,‘*’,$str); //输出r*pl*c* *ll v*w*ls *n str*ng
  str_replace(array $search, array $replace, string $string)
其中数组的元素彼此对应. 函数将$replace元素替换$search. 如果$search元素多, 多出来的将被空替换.
字符串翻译: string strtr($str, string $from, string $to) 函数返回str的拷贝, 其中$from中的每一个字符被$to中对应的字符所替换.
string strtr($str, array $replace_pairs) $replace数组中键名相等的子串, 该键值所对应的元素值替换.
例: $str = "my name is zkm";
$arr = array('my' => 'your', 'zkm' => 'kzh');
echo strtr($str, $arr);
字符串的格式化
可以使用printf或sprintf来进行格式化操作. printf是直接向屏幕输出字符串. sprintf则返回字符串. //printf(“%f4.2”, 1250.123);
格式: printf/sprintf(“格式化操作”, 字符串或数字);
b
二进制
o
八进制
与%百分号连用
c
字符
s
字符串
加号 + 减号 - 对字符串说来表示左右对齐
d
整型
x
小写十六进制
一个填充说明符, 可以是0或以单引号为前缘的字符
f
浮点型
X
大写十六进制
一个整数, 若字符串少于该值, 则用填充说明符
u
长整型
%
百分号不转换
小数点后加数字,对浮点数来说保留几位小数位
格式化数字: 可以使用number_format(float $num, 小数精确位数)
number_format(float $num, 小数精确位数, 整数与小数分界符默认(.), 千分进位符默认(, ))
Q:echo(),print(),print_r()之间的区别?
echo是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用).
print只能打印出简单类型变量的值(如int,string)  
print_r可以打印出复杂类型变量的值(如数组,对象)  
echo -- 输出一个或者多个字符串
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值