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的session cookie错误
Aug 09 PHP
php更新mysql后获取影响的行数发生异常解决方法
Mar 28 PHP
PHP生成Gif图片验证码
Oct 27 PHP
推荐几款用 Sublime Text 开发 Laravel 所用到的插件
Oct 30 PHP
php计算指定目录下文件占用空间的方法
Mar 13 PHP
discuz图片顺序混乱解决方案
Jul 29 PHP
PHP模拟asp.net的StringBuilder类实现方法
Aug 08 PHP
常用PHP数组排序函数归纳
Aug 08 PHP
PHP面向对象程序设计之对象的遍历操作示例
Jun 12 PHP
PHP字符串与数组处理函数用法小结
Jan 07 PHP
PHP实现微信公众号验证Token的示例代码
Dec 16 PHP
基于PHP的登录和注册的功能的实现
Aug 06 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
Warning: session_destroy() : Trying to destroy uninitialized sessionq错误
2011/06/16 PHP
学习使用curl采集curl使用方法
2012/01/11 PHP
PHP简单实现数字分页功能示例
2016/08/24 PHP
利用PHP如何统计Nginx日志的User Agent数据
2019/03/06 PHP
php创建多级目录与级联删除文件的方法示例
2019/09/12 PHP
laravel框架中控制器的创建和使用方法分析
2019/11/23 PHP
PHP+fiddler抓包采集微信文章阅读数点赞数的思路详解
2019/12/20 PHP
对象的类型:本地对象(1)
2006/12/29 Javascript
js判断浏览器的比较全的代码
2007/02/13 Javascript
统一接口:为FireFox添加IE的方法和属性的js代码
2007/03/25 Javascript
(仅IE下有效)关于checkbox 三态
2007/05/12 Javascript
使用Mootools动态添加Css样式表代码,兼容各浏览器
2011/12/12 Javascript
JSON 数据格式介绍
2012/01/13 Javascript
JS 页面计时器示例代码
2013/10/28 Javascript
基于 Node.js 实现前后端分离
2016/04/23 Javascript
vue实现表格数据的增删改查
2017/07/10 Javascript
js实现1,2,3,5数字按照概率生成
2017/09/12 Javascript
vue axios登录请求拦截器
2018/04/02 Javascript
vue 路由子组件created和mounted不起作用的解决方法
2019/11/05 Javascript
vue+element实现图片上传及裁剪功能
2020/06/29 Javascript
vue 中的动态传参和query传参操作
2020/11/09 Javascript
vuex的使用和简易实现
2021/01/07 Vue.js
Python提示[Errno 32]Broken pipe导致线程crash错误解决方法
2014/11/19 Python
python实现堆栈与队列的方法
2015/01/15 Python
python解析xml文件实例分析
2015/05/27 Python
实例讲解Python的函数闭包使用中应注意的问题
2016/06/20 Python
python实现简单日期工具类
2019/04/24 Python
Python 进程操作之进程间通过队列共享数据,队列Queue简单示例
2019/10/11 Python
Django中Q查询及Q()对象 F查询及F()对象用法
2020/07/09 Python
Kipling凯浦林美国官网:世界著名时尚休闲包袋品牌
2016/08/24 全球购物
美国在线纱线商店:Darn Good Yarn
2019/03/20 全球购物
春节联欢晚会主持词
2014/03/24 职场文书
青春无悔演讲稿
2014/05/08 职场文书
毕业生找工作求职信
2014/08/05 职场文书
Python自动操作神器PyAutoGUI的使用教程
2022/06/16 Python
win10电脑右下角输入法图标不见了?Win10右下角不显示输入法的解决方法
2022/07/23 数码科技