php 字符串使用总结
来源:互联网 发布:js中大于等于怎么写 编辑:程序博客网 时间:2024/06/05 18:49
1、确定字符串长度
在php中使用strlen函数和mb_strlen函数,后者需要开启mbstring扩展
<?phpheader('content-type:text/html;charset=utf-8');$str = 'abcdef';echo strlen($str); // 6$str = ' ab cd ';echo mb_strlen($str); // 7//strlen 是计算字符串"字节"长度//mb_strlen,是根据编码,计算字符串的"字符"个数.$str='中华人民共和国';//在 UTF-8编码下,一个汉字占3个字节 在gbk中一个汉字占2个字节echo "字节长度是".strlen($str);//字节长度是21echo "字符长度是".mb_strlen($str,'utf-8');//字符长度是7
2、字符串剔除和填充
<?php//剔除$str = ' i am a student ';//剔除字符串两端空格var_dump(trim($str));//'i am a student'//剔除字符串尾部空格var_dump(rtrim($str));//' i am a student'//剔除字符串首部空格var_dump(ltrim($str));//'i am a student '//可以通过指定参数,实现更高级功能var_dump(trim(',1,2,3,4,',','));//1,2,3,4var_dump(rtrim(',1,2,3,4,',','));//,1,2,3,4var_dump(ltrim(',1,2,3,4,',','));//1,2,3,4,//填充//每隔3位填充‘,’var_dump(chunk_split('12345678',3,','));//123,456,78,//尾部填充,如果字符串小于填充位置,则以空格补齐,如果大于填充位置,则尾部追加var_dump(str_pad('apple', 6)."is good.");//apple is good.var_dump(str_pad('apple123', 6)."is good.");//apple123is good.var_dump(str_pad('app', 6)."is good.");//app is good.
3、字符串转换
<?php$str = 'i Am a student';//小写var_dump(strtolower($str));//i am a student//大写var_dump(strtoupper($str));//I AM A STUDENT//首字母大写var_dump(ucfirst($str));//I Am a student//首字母小写var_dump(lcfirst($str));//i Am a student////每个单词首字母大写var_dump(ucwords($str));//I Am A Student
<?php//字符串通过==,===,!=,!== 比较var_dump(22 == '22');//truevar_dump(22 === '222');//falsevar_dump(22 != '22');//falsevar_dump(22 !== '222');//true//但是以上比较重,可能会出现很多意外var_dump(0 == '你好');//truevar_dump(1 == '1哈哈');//truevar_dump(1 == '哈哈');//false
因此,php 字符串库函数中提供了对字符串的比较函数,它们的返回值定义为:
1):如果前者大于后者,返回大于0的数2):如果前者小于后者,返回小于0的数3):如果前者等于后者,返回0
<?php$a = 'abbc';$b = 'aBw';//区分大小写比较var_dump(strcmp($a, $b));//1,表示前者大于后者//不区分大小写比较var_dump(strcasecmp($a, $b));//-21,表示前者小于于后者//区分大小写比较,从第三个参数给定比较长度var_dump(strncmp($a, $b, 3));//1,表示前者大于后者//不区分大小写比较,从第三个参数给定位比较长度var_dump(strncasecmp($a, $b, 3));//-21,表示前者小于于后者
<?php$str = "Hi lvfk";//默认一个一个进行拆分$arr1 = str_split($str);print_r($arr1);//Array ( [0] => H [1] => i [2] => [3] => l [4] => v [5] => f [6] => k )//每隔3个字符拆分$arr2 = str_split($str, 3);print_r($arr2);// Array ( [0] => Hi [1] => lvf [2] => k )$str = 'abc,中国,香港,台湾';// explode,是根据指定的分割符,把字符串拆成数组.$arr = explode(',',$str);print_r($arr);//Array ( [0] => abc [1] => 中国 [2] => 香港 [3] => 台湾 )// implode,是根据指定的连接符,把数组再拼接成字符串,也可以使用join$arr = explode(',',$str);echo implode('~',$arr),'<br />';//abc~中国~香港~台湾// 你可以只传一个数组做参数,不指定连接符,// 这样,将把数组单元直接拼接起来echo implode($arr);//abc中国香港台湾
<?php$str = "Hello fri3nd, HI, HI,hi,you're looking good today!";//字符串翻转var_dump(strrev($str));//!yadot doog gnikool er'uoy,ih,IH ,IH ,dn3irf olleH
<?php$str = "Hello fri3nd, you're looking good today!";print_r(str_word_count($str, 1));//Array ( [0] => Hello [1] => fri [2] => nd [3] => you're [4] => looking [5] => good [6] => today )
7、查找
<?php$str = "Hello fri3nd, HI, HI,you're looking good today!";//strstr & stristr 查找,并返回查找成功位置后的所有字符串//strstr区分大小写var_dump(strstr($str, 'y'));//you're looking good today!var_dump(strstr($str, 'A'));//false,此处查找失败//stristr忽略大小写查找var_dump(stristr($str, 'A'));//ay!//strpos & stripos 查找位置,并返回查找成功的位置//strpos区分大小写var_dump(strpos($str, 'you'));//23var_dump(strpos($str, 'hi'));//false,此处查找失败//stripos不区分大小写var_dump(stripos($str, 'HI'));//14//strrpos 最后一次出现位置var_dump(strrpos($str, 'HI'));//18//strripos 最后一次出现位置,不区分大小写var_dump(strripos($str, 'HI'));//18
8、字符串替换
<?php$str = "Hello fri3nd, HI, HI,you're looking good today!";//str_replace,替换,大小写敏感var_dump(str_replace('hi', '#', $str));//Hello fri3nd, HI, HI,you're looking good today!var_dump(str_replace('HI', '#', $str));//Hello fri3nd, #, #,you're looking good today!//sub_replace 指定位置开始替换//从字符串$str,第二个位置开始替换,并替换全部var_dump(substr_replace($str, '#', 2));//He#//从字符串$str,第二个位置开始替换,并且只替换2个字符var_dump(substr_replace($str, '#', 2,2));//He#o fri3nd, HI, HI,you're looking good today!
substr_count,substr_compare,substr_replace
<?php$str = "Hello fri3nd, HI, HI,hi,you're looking good today!";//截取var_dump(substr($str,0,5));//Hellovar_dump(substr($str,5));// fri3nd, HI, HI,hi,you're looking good today!//统计出现次数,大小写敏感var_dump(substr_count($str, 'HI'));//2//针对中文截取,可以使用mb_substrvar_dump(mb_substr('你好,中国', 0,2));//substr_compare() 函数从指定的开始位置比较两个字符串。echo substr_compare("abcde", "bc", 1, 2); // 0echo substr_compare("abcde", "de", -2, 2); // 0echo substr_compare("abcde", "bcg", 1, 2); // 0echo substr_compare("abcde", "BC", 1, 2, true); // 0echo substr_compare("abcde", "bc", 1, 3); // 1echo substr_compare("abcde", "cd", 1, 2); // -1echo substr_compare("abcde", "abc", 5, 1); // warning//substr_replace() 函数把字符串的一部分替换为另一个字符串。$var = 'ABCDEFGH:/MNRPQR/';echo "Original: $var<hr />\n";/* These two examples replace all of $var with 'bob'. */echo substr_replace($var, 'bob', 0) . "<br />\n";echo substr_replace($var, 'bob', 0, strlen($var)) . "<br />\n";/* Insert 'bob' right at the beginning of $var. */echo substr_replace($var, 'bob', 0, 0) . "<br />\n";/* These next two replace 'MNRPQR' in $var with 'bob'. */echo substr_replace($var, 'bob', 10, -1) . "<br />\n";echo substr_replace($var, 'bob', -7, -1) . "<br />\n";/* Delete 'MNRPQR' from $var. */echo substr_replace($var, '', 10, -1) . "<br />\n";
10、其他常用字符串函数
<?php//ip字符串和长整型之间转换var_dump(ip2long('127.0.0.1'));//2130706433var_dump(long2ip(2130706433));//127.0.0.1//md5:将一个字符串进行MD5算法加密var_dump(md5('123'));//202cb962ac59075b964b07152d234b70//md5_file — 将一个文件进行MD5算法加密var_dump(md5(__FILE__));//a544327e3f2d2bd40ed09eb00ef90338//bin2hex - 将二进制数据转换成十六进制表示var_dump(bin2hex('a'));//61//nl2br — 将字符串中的换行符“\n”替换成“<br/>”var_dump(nl2br("hi \n nih"));//hi <br />nih
11、应用:多种方式获取路径后缀
<?php$url="http://localhost/user/order.php";function get_ext1($url){ return substr(strrchr($url,"."),1);}function get_ext2($url){ $p=pathinfo($url);//Array ( [dirname] => http://localhost/user [basename] => order.php [extension] => php [filename] => order ) return $p['extension'];}function get_ext3($url){ return substr($url,strrpos($url,'.')+1);}function get_ext4($url){ $arr=explode('.',$url); return array_pop($arr);}function get_ext5($url){ return pathinfo($url,PATHINFO_EXTENSION);}echo get_ext1($url).'<br/>';echo get_ext2($url).'<br/>';echo get_ext3($url).'<br/>';echo get_ext4($url).'<br/>';echo get_ext5($url).'<br/>';
阅读全文
0 0
- php 字符串使用总结
- PHP数组字符串使用总结大全
- [总结]PHP字符串处理
- php字符串函数总结
- php 字符串函数总结
- PHP 字符串函数总结
- php 字符串处理总结
- php字符串函数总结
- PHP字符串比较函数strcmp()和strcasecmp()使用总结
- PHP字符串使用简介
- 有关php字符串处理总结
- php 常用字符串函数总结
- 各种PHP字符串函数总结
- PHP 字符串函数分类总结
- php字符串处理函数总结~
- PHP字符串高级处理总结
- PHP常用字符串函数总结
- PHP常用字符串函数总结
- vs2017控制台出现中文乱码
- **系统调用**
- c语言实验—时间格式转换
- 《DOS命令一日通》第二章 使用计算机起步工作
- Spring(三、Spring AOP)
- php 字符串使用总结
- maven项目报错解决前提
- 对原生SQL查询执行的控制是通过SQLQuery接口进行的,通过执行Session.createSQLQuery()
- jenkins启动方法-日常启动
- springmvc自定义视图解析器
- html文件和js脚本分离
- 四大组件--BroadcastReceiver
- 【bzoj 2763】T13 飞行路线(Spfa+分层图)
- 【java入门与精通】Java反射入门学习