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 相关文章推荐
使用 eAccelerator加速PHP代码的目的
Mar 16 PHP
利用ThinkPHP内置的ThinkAjax实现异步传输技术的实现方法
Dec 19 PHP
PHP数据类型之整数类型、浮点数的介绍
Apr 28 PHP
解析dedeCMS验证码的实现代码
Jun 07 PHP
php利用curl抓取新浪微博内容示例
Apr 27 PHP
PHP实现抓取迅雷VIP账号的方法
Jul 30 PHP
CI操作cookie的方法分析(基于helper类库)
Mar 28 PHP
PHP AjaxForm提交图片上传并显示图片源码
Nov 29 PHP
php curl上传、下载、https登陆实现代码
Jul 23 PHP
swoole_process实现进程池的方法示例
Oct 29 PHP
Yii框架的路由配置方法分析
Sep 09 PHP
php定期拉取数据对比方法实例
Sep 22 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的dl函数用法实例
2014/11/06 PHP
PHP中shuffle数组值随便排序函数用法
2014/11/21 PHP
thinkphp 手机号和用户名同时登录
2017/01/20 PHP
PHP函数积累总结
2019/03/19 PHP
JavaScript获取和设置CheckBox状态的简单方法
2013/07/05 Javascript
jQuery中Dom的基本操作小结
2014/01/23 Javascript
网站内容禁止复制和粘贴、另存为的js代码
2014/02/26 Javascript
JavaScript利用正则表达式去除日期中的-
2014/06/09 Javascript
JS实现倒计时和文字滚动的效果实例
2014/10/29 Javascript
利用jquery制作滚动到指定位置触发动画
2016/03/26 Javascript
JavaScript中的ParseInt(&quot;08&quot;)和“09”返回0的原因分析及解决办法
2016/05/19 Javascript
jQuery hover事件简单实现同时绑定2个方法
2016/06/07 Javascript
Javascript 两种刷新方法以及区别和适用范围
2017/01/17 Javascript
jquery仿京东商品放大浏览页面
2017/06/06 jQuery
详解vue-cli中的ESlint配置文件eslintrc.js
2017/09/25 Javascript
浅析node.js的模块加载机制
2018/05/25 Javascript
webpack css加载和图片加载的方法示例
2018/09/11 Javascript
CKeditor4 字体颜色功能配置方法教程
2019/06/26 Javascript
基于NodeJS开发钉钉回调接口实现AES-CBC加解密
2020/08/20 NodeJs
使用Python的判断语句模拟三目运算
2015/04/24 Python
python实现数据图表
2017/07/29 Python
python将字典内容存入mysql实例代码
2018/01/18 Python
tensorflow获取变量维度信息
2018/03/10 Python
在Python3 numpy中mean和average的区别详解
2019/08/24 Python
调用HTML5的Canvas API绘制图形的快速入门指南
2016/06/17 HTML / CSS
几个Shell Script面试题
2012/08/31 面试题
2014村务公开实施方案
2014/02/25 职场文书
合作经营协议书范本
2014/04/17 职场文书
乡镇食品安全责任书
2014/07/28 职场文书
向国旗敬礼活动小结
2014/09/27 职场文书
2014年服务员个人工作总结
2014/12/23 职场文书
学前班学生评语
2014/12/29 职场文书
2015年端午节活动总结
2015/02/11 职场文书
企业党支部工作总结2015
2015/05/21 职场文书
导游词之广西漓江
2019/11/02 职场文书
Prometheus 监控MySQL使用grafana展示
2021/08/30 MySQL