PHP编程中字符串处理的5个技巧小结


Posted in PHP onNovember 13, 2007

字符串
注意单引号和双引号的区别
注意转义字符\的使用\\,\",\$
注意使用8进制或16进制字符表示 \xf6
echo "H\xf6me";//需要察看是否支持此类文字编码
---------------------输出结果----------------------------------------
H?e
---------------------------------------------------------------------

1.使用printf()和sprintf()创建格式化的输出

printf()直接输出到输出缓冲区
sprintf()的输出作为字符串返回
如printf("输出内容 %.2f\n",$PI());
所有的转换规范都以%开头
数据类型有d-整数,s-字符串,f-浮点数,b-二进制
.2是一个可选的宽度指标,小数点右边输出使用0填充
printf("%.2f",3.14159);
printf("%10.2f",3.14159);
printf("%.10f",3.14159);
printf("%.9s",abcdefghijklmn);
printf("%5.2f,%f,%7.3f\m",3.14159,3.14159,3.14159);
printf("%b %d %f %s \n",123,123,123,"test");
---------------------输出结果----------------------------------------
3.14 3.143.1415900000abcdefghi 3.14,3.141590, 3.142\m1111011 123 123.000000 test 
---------------------------------------------------------------------

2.字符串填充

string str_pad(string input原始字串, int length添加后的总长度[, string padding要填充的字符 [, int pad_type]填充类型])
填充类型有添加在左边STR_PAD_LEFT,默认添在右边,填充在两端STR_PAD_BOTH
$index = array("one"=>1,"two"=>155,"three"=>1679);
echo "
";
echo str_pad("这是标题",50," ",STR_PAD_BOTH)."\n";
foreach($index as $inkey=>$inval)
        echo str_pad($inkey,30,".").str_pad($inval,20,".",STR_PAD_LEFT)."\n";
echo "
";
---------------------输出结果----------------------------------------

                     这是标题                     
one..............................................1
two............................................155
three.........................................1679

---------------------------------------------------------------------
string strtolower(string subject)//转换为小写
string strtoupper(string subject)//转换为大写
string ucfirst(string subject)//首字母大写
string ucwords(string subject)//每个单词首字母大写
string ltrim(string subject)//去左空白
string rtrim(string subject)//去右空白
string trim(string subject)去左右空白,空白包括null,制表符,换行符,回车符和空格
string n12br(string source)//将\n表示的换行符转换为<BR />标记

3.字符串比较

integer strcmp(sting str1,string str2) //str1大于str2返回-1 str1小于str2返回1 str1和str2相等返回0 
integer strmcmp(sting str1,string str2,integer length) //第三个参数限制length个字符的比较
print strcmp("aardvark","aardwolf");
print strncmp("aardvark","aardwolf",4);
---------------------输出结果----------------------------------------
-10
---------------------------------------------------------------------
strcasecmp()和strncasecmp()是不区分大小写的比较函数

4.查找和抽取子字符串

string substr(sting source,integer start[,integer length])//从start开始取length个字符
start和length可以使用负值
$var = "abcdefgh";
print substr($var,2);//从0开始计数
print substr($var,2,3);
print substr($var,-1);//从字符串的末尾开始
print substr($var,-5,2);
print substr($var,-5,-2);
---------------------输出结果----------------------------------------
cdefgh
cde
h
de
def
---------------------------------------------------------------------
integer strpos(string haystack,string needle[,integer offset])//查找子字符串的位置,返回第一次出现.
integer strrpos(string haystack,string needle)//只搜索单个字符(多个字符只取第一个),返回最后一次出现的索引.
还有常见的从 字符串中抽取找到的部分 的函数
string strstr(string haystack,string needle)//不区分大小写
string stristr(string haystack,string needle)//区分大小写
string strrchr(string haystack,sting needle)
*********** array explode(string separator,string subject[,integer limit])//返回一个字符串数组
array implode(string glue,array pieces)//返回一个字符串
///////////////////////////代码段////////////////////////////////////////
$guest = "this is a string";
$guestArray = explode(" ",$guest);
var_dump($guestArray);
sort($guestArray);
echo implode(",",$guestArray);
////////////////////////////////////////////////////////////////////////
---------------------输出结果----------------------------------------
array(4) { [0]=> string(4) "this" [1]=> string(2) "is" [2]=> string(1) "a" [3]=> string(6) "string" } a,is,string,this
---------------------------------------------------------------------

5.替换字符和子字符串

string substr_replace(string source,string replace,int start[,int length]) 

PHP 相关文章推荐
IIS6的PHP最佳配置方法
Mar 19 PHP
php获取某个目录大小的代码
Sep 10 PHP
PHP+XML 制作简单的留言本 图文教程
Nov 02 PHP
PHP生成自定义长度随机字符串的函数分享
May 04 PHP
typecho插件编写教程(一):Hello World
May 28 PHP
[原创]PHPCMS遭遇会员投稿审核无效的解决方法
Jan 11 PHP
PHP 无限级分类
May 04 PHP
php+javascript实现的动态显示服务器运行程序进度条功能示例
Aug 07 PHP
PHP实现随机数字、字母的验证码功能
Aug 01 PHP
Yii2框架自定义类统一处理url操作示例
May 25 PHP
Laravel框架实现多个视图共享相同数据的方法详解
Jul 09 PHP
php7 新增功能实例总结
May 25 PHP
表单复选框向PHP传输数据的代码
Nov 13 #PHP
实用函数10
Nov 08 #PHP
实用函数9
Nov 08 #PHP
实用函数8
Nov 08 #PHP
实用函数7
Nov 08 #PHP
实用函数5
Nov 08 #PHP
实用函数4
Nov 08 #PHP
You might like
全国FM电台频率大全 - 6 辽宁省
2020/03/11 无线电
JoshChen_php新手进阶高手不可或缺的规范介绍
2013/08/16 PHP
thinkPHP连接sqlite3数据库的实现方法(附Thinkphp代码生成器下载)
2016/05/27 PHP
laravel框架的安装与路由实例分析
2019/10/11 PHP
javascript字符串拼接的效率问题
2010/12/25 Javascript
表单切换,用回车键替换Tab健(不支持IE)
2011/07/20 Javascript
jQuery EasyUI API 中文文档 - Tree树使用介绍
2011/11/19 Javascript
JavaScript表单通过正则表达式验证电话号码
2014/03/14 Javascript
extjs_02_grid显示本地数据、显示跨域数据
2014/06/23 Javascript
JS中getYear()和getFullYear()区别分析
2014/07/04 Javascript
深入浅出分析javaScript中this用法
2015/05/09 Javascript
window.onload与$(document).ready()的区别分析
2015/05/30 Javascript
javascript中setAttribute兼容性用法分析
2016/12/12 Javascript
js实现文字列表无缝滚动效果
2017/06/23 Javascript
讲解vue-router之什么是动态路由
2018/05/28 Javascript
nodejs aes 加解密实例
2018/10/10 NodeJs
angular4 获取wifi列表中文显示乱码问题的解决
2018/10/20 Javascript
React通过redux-persist持久化数据存储的方法示例
2019/02/14 Javascript
理解Proxy及使用Proxy实现vue数据双向绑定操作
2020/07/18 Javascript
React实现评论的添加和删除
2020/10/20 Javascript
[57:53]Secret vs Pain 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
[42:48]完美世界DOTA2联赛PWL S3 Magma vs INK ICE 第二场 12.11
2020/12/16 DOTA
python学习之编写查询ip程序
2016/02/27 Python
解决nohup重定向python输出到文件不成功的问题
2018/05/11 Python
Python文件循环写入行时防止覆盖的解决方法
2018/11/09 Python
数以千计的折扣工业产品:ESE Direct
2018/05/20 全球购物
美国地毯购买网站:Rugs USA
2019/02/23 全球购物
法国床上用品商店:La Compagnie du lit
2019/12/26 全球购物
摄影展策划方案
2014/06/02 职场文书
制冷与空调专业毕业生推荐信
2014/07/07 职场文书
思想道德自我评价2015
2015/03/09 职场文书
计划生育责任书
2015/05/09 职场文书
离婚代理词范文
2015/05/23 职场文书
2019年度行政文员工作计划范本!
2019/07/04 职场文书
微信小程序APP的生命周期及页面的生命周期
2022/04/19 Javascript
利用Python实现翻译HTML中的文本字符串
2022/06/21 Python