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 相关文章推荐
自己前几天写的无限分类类
Feb 14 PHP
获取远程文件大小的php函数
Jan 11 PHP
PHP 多维数组排序(usort,uasort)
Jun 30 PHP
通过PHP的内置函数,通过DES算法对数据加密和解密
Jun 21 PHP
利用curl 多线程 模拟 并发的详解
Jun 14 PHP
php中socket的用法详解
Oct 24 PHP
PHP面向对象之后期静态绑定功能介绍
May 18 PHP
Thinkphp事务操作实例(推荐)
Apr 01 PHP
PHP基于接口技术实现简单的多态应用完整实例
Apr 26 PHP
PHP获取文件扩展名的方法实例总结
Jun 10 PHP
stripos函数知识点实例分享
Feb 11 PHP
php获取是星期几的的一些常用姿势
Dec 15 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下过滤HTML代码的函数
2007/12/10 PHP
浅析Yii中使用RBAC的完全指南(用户角色权限控制)
2013/06/20 PHP
C/S和B/S两种架构区别与优缺点分析
2014/10/23 PHP
Linux(CentOS)下PHP扩展PDO编译安装的方法
2016/04/07 PHP
对比PHP对MySQL的缓冲查询和无缓冲查询
2016/07/01 PHP
redirect_uri参数错误的解决方法(必看)
2017/02/16 PHP
php基于环形链表解决约瑟夫环问题示例
2017/11/07 PHP
PHP开发之用微信远程遥控服务器
2018/01/25 PHP
通过JS 获取Mouse Position(鼠标坐标)的代码
2009/09/21 Javascript
Jquery中增加参数与Json转换代码
2009/11/20 Javascript
jQuery 图片切换插件(代码比较少)
2012/05/07 Javascript
jQuery获得包含margin的outerWidth和outerHeight的方法
2015/03/25 Javascript
微信支付 JS API支付接口详解
2016/07/11 Javascript
浅析JavaScript的几种Math函数,random(),ceil(),round(),floor()
2016/12/22 Javascript
JavaScript省市级联下拉菜单实例
2017/02/14 Javascript
vue-cli如何快速构建vue项目
2017/04/26 Javascript
浅谈node中的exports与module.exports的关系
2017/08/01 Javascript
微信小程序实现图片上传、删除和预览功能的方法
2017/12/18 Javascript
微信小程序如何访问公众号文章
2019/07/08 Javascript
arcgis.js控制地图地体的显示范围超出区域自动弹回(实现思路)
2021/01/28 Javascript
Python上传package到Pypi(代码简单)
2016/02/06 Python
用Python写冒泡排序代码
2016/04/12 Python
Python IDLE清空窗口的实例
2018/06/25 Python
python 使用 requests 模块发送http请求 的方法
2018/12/09 Python
新手入门Python编程的8个实用建议
2019/07/12 Python
Python中注释(多行注释和单行注释)的用法实例
2019/08/28 Python
tensorflow通过模型文件,使用tensorboard查看其模型图Graph方式
2020/01/23 Python
Pytest mark使用实例及原理解析
2020/02/22 Python
大学新生军训个人的自我评价
2013/10/03 职场文书
财务会计应届生求职信
2013/11/24 职场文书
财务总监管理职责范文
2014/03/09 职场文书
创业者迈进成功第一步:如何写创业计划书?
2014/03/22 职场文书
国际金融专业自荐信
2014/07/05 职场文书
2015年药店店长工作总结
2015/04/29 职场文书
你对自己的信用报告有过了解吗?
2019/07/09 职场文书
小程序实现文字循环滚动动画
2021/06/14 Javascript