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 相关文章推荐
基于qmail的完整WEBMAIL解决方案安装详解
Oct 09 PHP
PHP 和 XML: 使用expat函数(三)
Oct 09 PHP
PHP 中文处理技巧
Apr 25 PHP
php目录操作函数之获取目录与文件的类型
Dec 29 PHP
PHP 命名空间实例说明
Jan 27 PHP
使ecshop模板中可引用常量的实现方法
Jun 02 PHP
推荐一款PHP+jQuery制作的列表分页的功能模块
Oct 14 PHP
详解PHP错误日志的获取方法
Jul 20 PHP
php中ob函数缓冲机制深入理解
Aug 03 PHP
ThinkPHP框架分布式数据库连接方法详解
Mar 14 PHP
PHP Cli 模式设置进程名称的方法
Jun 12 PHP
PHP面试题 wakeup魔法 Ezpop pop序列化与反序列化
Apr 11 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新手NOTICE错误常见解决方法
2011/12/07 PHP
thinkPHP框架实现的无限回复评论功能示例
2018/06/09 PHP
那些年,我还在学习jquery 学习笔记
2012/03/05 Javascript
Javascript堆排序算法详解
2014/12/03 Javascript
jQuery实现表格颜色交替显示的方法
2015/03/09 Javascript
巧用jQuery选择器提高写表单效率的方法
2016/08/19 Javascript
浅谈html转义及防止javascript注入攻击的方法
2016/12/04 Javascript
jQuery模拟下拉框选择对应菜单的内容
2017/03/07 Javascript
Angular实现点击按钮后在上方显示输入内容的方法
2017/12/27 Javascript
使用jquery模拟a标签的click事件无法实现跳转的解决
2018/12/04 jQuery
手挽手带你学React之React-router4.x的使用
2019/02/14 Javascript
浅谈TypeScript 用 Webpack/ts-node 运行的配置记录
2019/10/11 Javascript
使用Bootstrap做一个朝代历史表
2019/12/10 Javascript
详解vue 组件注册
2020/11/20 Vue.js
[03:09]2014DOTA2国际邀请赛 Mushi前队友送上祝福
2014/07/12 DOTA
Python 的 with 语句详解
2014/06/13 Python
Python检测QQ在线状态的方法
2015/05/09 Python
自己编程中遇到的Python错误和解决方法汇总整理
2015/06/03 Python
django批量导入xml数据
2016/10/16 Python
Python中单、双下划线的区别总结
2017/12/01 Python
Python 通过截图匹配原图中的位置(opencv)实例
2019/08/27 Python
PyCharm设置Ipython交互环境和宏快捷键进行数据分析图文详解
2020/04/23 Python
利用python中的matplotlib打印混淆矩阵实例
2020/06/16 Python
Python学习之路安装pycharm的教程详解
2020/06/17 Python
导致python中import错误的原因是什么
2020/07/01 Python
大学毕业生文采飞扬的自我鉴定
2013/12/03 职场文书
高一物理教学反思
2014/01/24 职场文书
学生保证书范文
2014/04/28 职场文书
爱耳日活动总结
2014/04/30 职场文书
安全教育片观后感
2015/06/17 职场文书
矛盾论读书笔记
2015/06/29 职场文书
小学生暑假生活总结
2015/07/13 职场文书
初中同学会致辞
2015/08/01 职场文书
安全教育日主题班会
2015/08/13 职场文书
2019广播稿怎么写
2019/04/17 职场文书
SQL Server数据定义——模式与基本表操作
2021/04/05 SQL Server