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实现登陆验证码(类似条行码状)
Oct 09 PHP
PHP自动生成月历代码
Oct 09 PHP
用DBSQL类加快开发MySQL数据库程序的速度
Oct 09 PHP
PHP CURL获取返回值的方法
May 04 PHP
destoon网站转移服务器后搜索汉字出现乱码的解决方法
Jun 21 PHP
详解PHP中的Traits
Jul 29 PHP
CentOS系统中PHP安装扩展的方式汇总
Apr 09 PHP
PHP回调函数与匿名函数实例详解
Aug 16 PHP
Laravel下生成验证码的类
Nov 15 PHP
PHP实现数组的笛卡尔积运算示例
Dec 15 PHP
使用vs code编辑调试php配置的方法
Jan 29 PHP
利用PHP内置SERVER开启web服务(本地开发使用)
Mar 09 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
1982年日本摄影师镜头下的中国孩子 那无忧无虑的童年
2020/03/12 杂记
解析argc argv在php中的应用
2013/06/24 PHP
Jquery中对数组的操作代码
2011/08/12 Javascript
c#和Javascript操作同一json对象的实现代码
2012/01/17 Javascript
js实现ArrayList功能附实例代码
2014/10/29 Javascript
纯JavaScript实现的兼容各浏览器的添加和移除事件封装
2015/03/28 Javascript
javascript实现十秒钟后注册按钮可点击的方法
2015/05/13 Javascript
JavaScript中判断函数、变量是否存在
2015/06/10 Javascript
javascript实现uploadify上传格式以及个数限制
2015/11/23 Javascript
jQuery实现简单的图片查看器
2020/09/11 Javascript
理解javascript异步编程
2016/01/27 Javascript
Javascript设计模式之观察者模式(推荐)
2016/03/29 Javascript
Angular2库初探
2017/03/01 Javascript
Layui table 组件的使用之初始化加载数据、数据刷新表格、传参数
2017/09/11 Javascript
React.Js添加与删除onScroll事件的方法详解
2017/11/03 Javascript
基于打包工具Webpack进行项目开发实例
2018/05/29 Javascript
详解在vue-cli项目下简单使用mockjs模拟数据
2018/10/19 Javascript
基于redis的小程序登录实现方法流程分析
2020/05/25 Javascript
Python作用域用法实例详解
2016/03/15 Python
Python利用QQ邮箱发送邮件的实现方法(分享)
2017/06/09 Python
python监控linux内存并写入mongodb(推荐)
2017/09/11 Python
纯用NumPy实现神经网络的示例代码
2018/10/24 Python
CSS3中的clip-path使用攻略
2015/08/03 HTML / CSS
html5自带表单验证体验优化及提示气泡修改功能
2017/09/12 HTML / CSS
英国领先的瓷砖专家:Walls and Floors
2018/04/27 全球购物
文艺晚会策划方案
2014/06/11 职场文书
反洗钱宣传活动总结
2014/08/26 职场文书
2015新年寄语大全
2014/12/08 职场文书
司考复习计划
2015/01/19 职场文书
付款证明格式范文
2015/06/19 职场文书
新娘父亲婚礼致辞
2015/07/27 职场文书
2016学校元旦晚会经典开场白台词
2015/12/03 职场文书
物业管理交接协议书
2016/03/24 职场文书
怎样做好公众演讲能力?
2019/08/28 职场文书
MySQL完整性约束的定义与实例教程
2021/05/30 MySQL
Android学习之BottomSheetDialog组件的使用
2022/06/21 Java/Android