码迷,mamicode.com
首页 > Web开发 > 详细

php字符串函数的学习

时间:2015-09-03 00:35:19      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:

关于字符串的处理,基本上就是那几种操作:字符串长度、查找子字符串的位置、替换字符串、截取字符串、拆分字符串 ...

字符串的定义:直接 $str = "abcd"; 或者 $str = ‘xyzi‘;

其中双引号和单引号的区别在于:双引号能够转义一些特殊字符,如\n 、\t 、$。因为能够转义$符,故能够将双引号中的变量转换成

字符串长度

strlen($str); //返回当前编码下字符串的长度

如: $a = ‘abc‘;

echo strlen($a); //3

$a = ‘中国‘;

echo strlen($a); //如果保存$a编码是UTF-8的话,则输出6,因为在UTF-8编码下,一个中文占3个字节;同理在gb2312编码下,则输出4

mb_strlen($str,charset); //返回指定编码下的字符串的长度

$a = ‘中国‘;

echo strlen($a,‘UTF-8‘); //输出2

echo strlen($a,‘gb2312‘); //输出2 //前提是保存的文件就是gb2312

 

查找子字符串的位置

strpos(str1,str2); //查找字符串str2在str1中首次出现的位置

如:

$str1 = ‘liuchuanwei‘;
$str2 = ‘an‘;
echo strpos($str1,$str2); //输出6

 

在php中经常存在这样的判断语句

if(strpos($str1,$str2) !== false){
     echo ‘含有‘ . $str2 . ‘<br/>‘;
}else{
     echo ‘不含有‘ . $str2 . ‘<br/>‘;
}

此处一定要用全不等于或者全等于,因为strpos()有可能返回位置0和出现错误而返回false,而0==false,但0!==false
全等于和等于的区别:全等于是指类型和值都等于

替换字符串
str_replace($str1,$str2,$str0); //主前客后家末尾
将字符串$str0中的子字符串$str1替换为$str2

同时替换一批字符串
$str = ‘男人,女人,男孩,女孩‘;
//将字符串中的 ‘男‘ 转换成 ‘女‘ ,将 ‘女‘ 转换成 ‘男‘
用str_replace就不大好实现了


strtr($str,$from,$to); //将字符串$str中的$from转换成$to
strtr的牛逼之处在于,strtr还支持数组参数,即用数组参数替代$from和$to
用 $from => $to 这样的格式数组替换$from和$to两个参数,从而实现整批整批的替换
如:
$arr = array(‘男‘=>‘女‘,‘女‘=>‘男‘);
echo strtr($str,$arr);


截取字符串
substr($str,start[,length]); //从start处截取length长度的$str的子字符串

start和length都可以为负值
start为负值,length为正时,从字符串结尾处算起,向字符串结尾正方向length长度的子字符串
如:
$str = ‘liuchuanwei‘;
echo substr($str,-3,3) . ‘<br/>‘; //输出:wei,如果length=1的话,输出:w

start和length同时为负值时,start从字符串结尾处算起的位置,和length从字符串结尾处算起的位置,之间的子字符串。
如:
$str = ‘liuchuanwei‘;
echo substr($str,-5,-4).‘<br/>‘; //输出:a,如果start=-12,输出:liuchua

如果length位置比start位置更远离字符串结尾,那么substr返回空字符串

 

拆分字符串
$str = ‘tech,linux,mysql‘;
explode(‘,‘,$str);
将字符串以 , 逗号为分隔符拆分,返回数组

implode($arr,",");
将数组以 , 逗号为分隔符组成字符串

 

php字符串函数的学习

标签:

原文地址:http://www.cnblogs.com/lhat/p/4779652.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!