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的知识
Nov 17 PHP
中国站长站 For Dede4.0 采集规则
May 27 PHP
PHP 线程安全与非线程安全版本的区别深入解析
Aug 06 PHP
php switch语句多个值匹配同一代码块应用示例
Jul 29 PHP
跟我学Laravel之安装Laravel
Oct 15 PHP
php中call_user_func函数使用注意事项
Nov 21 PHP
PHP获取数组长度或某个值出现次数的方法
Feb 11 PHP
在win系统安装配置 Memcached for PHP 5.3 图文教程
Mar 03 PHP
php备份数据库类分享
Apr 14 PHP
php格式化电话号码的方法
Apr 24 PHP
PHP实现动态web服务器方法
Jul 29 PHP
Laravel关联模型中过滤结果为空的结果集(has和with区别)
Oct 18 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
PDO版本问题 Invalid parameter number: no parameters were bound
2013/01/06 PHP
php二维数组合并及去重复的方法
2015/03/04 PHP
javascript实现跳转菜单的具体方法
2013/07/05 Javascript
jquery text()方法取标签中的文本
2014/07/25 Javascript
JQuery拖动表头边框线调整表格列宽效果代码
2014/09/10 Javascript
Jquery 实现弹出层插件
2015/01/28 Javascript
angularJS中router的使用指南
2015/02/09 Javascript
JavaScript中的lastIndexOf()方法使用详解
2015/06/06 Javascript
jquery获取文档高度和窗口高度汇总
2016/01/25 Javascript
jQuery实现的跨容器无缝拖动效果代码
2016/06/21 Javascript
require.js+vue开发微信上传图片组件
2016/10/27 Javascript
基于vue.js中事件修饰符.self的用法(详解)
2018/02/23 Javascript
vue spa应用中的路由缓存问题与解决方案
2019/05/31 Javascript
react PropTypes校验传递的值操作示例
2020/04/28 Javascript
微信小程序换肤功能实现代码(思路详解)
2020/08/25 Javascript
Python在线运行代码助手
2016/07/15 Python
Python中查看文件名和文件路径
2017/03/31 Python
Django如何配置mysql数据库
2018/05/04 Python
python 列表递归求和、计数、求最大元素的实例
2018/11/28 Python
pycharm访问mysql数据库的方法步骤
2019/06/18 Python
python-tornado的接口用swagger进行包装的实例
2019/08/29 Python
TensorFlow加载模型时出错的解决方式
2020/02/06 Python
python通用读取vcf文件的类(复制粘贴即可用)
2020/02/29 Python
使用Jupyter notebooks上传文件夹或大量数据到服务器
2020/04/14 Python
Django如何在不停机的情况下创建索引
2020/08/02 Python
python Gabor滤波器讲解
2020/10/26 Python
Python基于Webhook实现github自动化部署
2020/11/28 Python
Python实现京东抢秒杀功能
2021/01/25 Python
viagogo法国票务平台:演唱会、体育比赛、戏剧门票
2017/03/27 全球购物
美国名牌太阳镜折扣网站:Eyedictive
2017/05/15 全球购物
请解释接口的显式实现有什么意义
2012/05/26 面试题
OSPF有什么优点?为什么OSPF比RIP收敛快?
2013/02/13 面试题
代办委托书怎么写
2014/08/01 职场文书
有关水浒传的读书笔记
2015/06/25 职场文书
工作建议书范文
2019/07/08 职场文书
总结三种用 Python 作为小程序后端的方式
2022/05/02 Python