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 相关文章推荐
基于mysql的论坛(7)
Oct 09 PHP
php sprintf()函数让你的sql操作更安全
Jul 23 PHP
我的php学习笔记(毕业设计)
Feb 21 PHP
windows下PHP_intl.dll正确配置方法(apache2.2+php5.3.5)
Jan 14 PHP
typecho插件编写教程(五):核心代码
May 28 PHP
php实现在服务器端调整图片大小的方法
Jun 16 PHP
10个php函数实用却不常见
Oct 13 PHP
php 数组字符串搜索array_search技巧
Jul 05 PHP
PHP实现根据密码长度显示安全条
Jul 04 PHP
PHP给源代码加密的几种方法汇总(推荐)
Feb 06 PHP
thinkphp5实现无限级分类
Feb 18 PHP
Laravel框架源码解析之模型Model原理与用法解析
May 14 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
德生PL550的电路分析
2021/03/02 无线电
js下函数般调用正则的方法附代码
2008/06/22 PHP
PHP会话处理的10个函数
2015/08/11 PHP
Joomla开启SEF的方法
2016/05/04 PHP
PHP自定义多进制的方法
2016/11/03 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
2017/09/20 PHP
javascript IE中的DOM ready应用技巧
2008/07/23 Javascript
自己的js工具_Form 封装
2009/08/21 Javascript
jquery tab标签页的制作
2010/05/10 Javascript
使用jquery获取网页中图片高度的两种方法
2013/09/26 Javascript
讨论html与javascript在浏览器中的加载顺序问题
2013/11/27 Javascript
利用js实现在浏览器状态栏显示访问者在本页停留的时间
2013/12/29 Javascript
Nodejs+express+html5 实现拖拽上传
2014/08/08 NodeJs
用js读、写、删除Cookie代码续篇
2014/12/03 Javascript
SpringMVC restful 注解之@RequestBody进行json与object转换
2015/12/10 Javascript
javaScript数组迭代方法详解
2016/04/14 Javascript
Javascript实现通过选择周数显示开始日和结束日的实现代码
2016/05/30 Javascript
jQuery插件扩展测试实例
2016/06/21 Javascript
为Jquery EasyUI 组件加上清除功能的方法(详解)
2017/04/13 jQuery
使用store来优化React组件的方法
2017/10/23 Javascript
Bootstrap table使用方法汇总
2017/11/17 Javascript
详解Vue webapp项目通过HBulider打包原生APP
2018/06/29 Javascript
基于 vue-skeleton-webpack-plugin 的骨架屏实战
2019/08/05 Javascript
node解析修改nginx配置文件操作实例分析
2019/11/06 Javascript
[51:06]2018DOTA2亚洲邀请赛3月29日 小组赛A组 KG VS Liquid
2018/03/30 DOTA
python在windows和linux下获得本机本地ip地址方法小结
2015/03/20 Python
python正则表达式的使用
2017/06/12 Python
python 实现矩阵填充0的例子
2019/11/29 Python
python实现图像高斯金字塔的示例代码
2020/12/11 Python
美国购买肉、鸭、家禽、鹅肝和熟食网站:D’Artagnan
2018/11/13 全球购物
金融专业大学生自我评价
2014/01/09 职场文书
安踏广告词改编版
2014/03/21 职场文书
2014年仓管员工作总结
2014/11/18 职场文书
乡镇一岗双责责任书
2015/01/29 职场文书
解析:创业计划书和商业计划书二者之间到底有什么区别
2019/08/14 职场文书
漫画《尖帽子的魔法工坊》宣布动画化
2022/04/06 日漫