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 相关文章推荐
聊天室php&amp;mysql(三)
Oct 09 PHP
一家之言的经验之谈php+mysql扎实个人基本功
Mar 27 PHP
php中实现记住密码自动登录的代码
Mar 02 PHP
基于php无限分类的深入理解
Jun 02 PHP
深入PHP5中的魔术方法详解
Jun 17 PHP
PHP实现下载断点续传的方法
Nov 12 PHP
PHP利用func_get_args和func_num_args函数实现函数重载实例
Nov 12 PHP
php简单计算页面加载时间的方法
Jun 19 PHP
PHP查询大量数据内存耗尽问题的解决方法
Oct 28 PHP
ThinkPHP实现登录退出功能
Jun 29 PHP
PHP长连接实现与使用方法详解
Feb 11 PHP
PHP通过文件保存和更新信息的方法分析
Sep 12 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
php 文章采集正则代码
2009/12/28 PHP
深入理解PHP几个算法:PHP冒泡、PHP二分法、PHP求素数、PHP乘法表
2013/06/06 PHP
PHP如何利用P3P实现跨域
2013/08/24 PHP
ThinkPHP实现跨模块调用操作方法概述
2014/06/20 PHP
PHP实现带重试功能的curl连接示例
2016/07/28 PHP
PHP查看SSL证书信息的方法
2016/09/22 PHP
js 获取子节点函数 (兼容FF与IE)
2010/04/18 Javascript
javascript奇异的arguments分析
2010/10/20 Javascript
js 获取屏幕各种宽高的方法(浏览器兼容)
2013/05/15 Javascript
JS去除字符串两端空格的简单实例
2013/12/27 Javascript
纯js代码实现简单计算器
2015/12/02 Javascript
jquery ajax分页插件的简单实现
2016/01/27 Javascript
JavaScript中日期函数的相关操作知识
2016/08/03 Javascript
jstree创建无限分级树的方法【基于ajax动态创建子节点】
2016/10/25 Javascript
一个非常好用的文字滚动的案例,鼠标悬浮可暂停[两种方案任选]
2016/12/01 Javascript
JavaScript实现经典排序算法之选择排序
2016/12/28 Javascript
浅谈vue,angular,react数据双向绑定原理分析
2017/11/28 Javascript
jquery 获取索引值在一定范围的列表方法
2018/01/25 jQuery
详解vue使用$http服务端收不到参数
2019/04/19 Javascript
Python中操作mysql的pymysql模块详解
2016/09/13 Python
Python读取指定目录下指定后缀文件并保存为docx
2017/04/23 Python
python flask几分钟实现web服务的例子
2019/07/26 Python
Python 微信公众号文章爬取的示例代码
2020/11/30 Python
matplotlib常见函数之plt.rcParams、matshow的使用(坐标轴设置)
2021/01/05 Python
美国最好的保健品打折网店:Swanson
2017/08/04 全球购物
理货员的岗位职责
2013/11/23 职场文书
计算机通信专业推荐信
2014/02/22 职场文书
班组长岗位职责
2014/03/03 职场文书
中班幼儿评语大全
2014/04/30 职场文书
人事主管岗位职责
2015/02/04 职场文书
英语辞职信怎么写
2015/02/28 职场文书
2015年收银员个人工作总结
2015/04/01 职场文书
消夏晚会主持词
2015/06/30 职场文书
赡养老人协议书范本
2015/08/06 职场文书
导游词之贵州织金洞
2019/10/12 职场文书
Java获取e.printStackTrace()打印的信息方式
2021/08/07 Java/Android