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 图像尺寸调整代码
May 26 PHP
php实现简单洗牌算法
Jun 18 PHP
PHP限制页面只能在微信自带浏览器访问的代码
Jan 15 PHP
php+memcache实现的网站在线人数统计代码
Jul 04 PHP
PHP数组排序之sort、asort与ksort用法实例
Sep 08 PHP
PHP闭包实例解析
Sep 08 PHP
PHP去掉json字符串中的反斜杠\及去掉双引号前的反斜杠
Sep 30 PHP
如何写php守护进程(Daemon)
Dec 30 PHP
php如何控制用户对图片的访问 PHP禁止图片盗链
Mar 25 PHP
laravel excel 上传文件保存到本地服务器功能
Nov 14 PHP
php7 新增功能实例总结
May 25 PHP
PHP大文件及断点续传下载实现代码
Aug 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
PHP中call_user_func_array()函数的用法演示
2012/02/05 PHP
codeigniter教程之上传视频并使用ffmpeg转flv示例
2014/02/13 PHP
xss防御之php利用httponly防xss攻击
2014/03/21 PHP
PHP使用DOMDocument类生成HTML实例(包含常见标签元素)
2014/06/25 PHP
ThinkPHP模板输出display用法分析
2014/11/26 PHP
Thinkphp5.0框架视图view的循环标签用法示例
2019/10/12 PHP
jquery load()在firefox(火狐)下显示不正常的解决方法
2011/04/05 Javascript
javascript 全选与全取消功能的实现代码
2012/12/23 Javascript
javascript里绝对用的上的字符分割函数总结
2014/07/31 Javascript
JavaScript实现页面跳转的方式汇总
2016/05/16 Javascript
浅谈JavaScript正则表达式-非捕获性分组
2017/03/08 Javascript
js原生Ajax的封装和原理详解
2017/03/11 Javascript
angularJS模态框$modal实例代码
2017/05/27 Javascript
vue.js如何更改默认端口号8080为指定端口的方法
2017/07/14 Javascript
详解微信JS-SDK选择图片遇到的坑
2018/08/15 Javascript
vue element 生成无线级左侧菜单的实现代码
2019/08/21 Javascript
vue实现购物车小案例
2019/09/27 Javascript
JS实现表单中点击小眼睛显示隐藏密码框中的密码
2020/04/13 Javascript
[48:53]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS VG第一场
2014/05/26 DOTA
[01:05:56]2018DOTA2亚洲邀请赛3月29日 小组赛A组 Newbee VS VG
2018/03/30 DOTA
PYTHON正则表达式 re模块使用说明
2011/05/19 Python
详解Python中break语句的用法
2015/05/14 Python
python实现JAVA源代码从ANSI到UTF-8的批量转换方法
2015/08/10 Python
Python中单、双下划线的区别总结
2017/12/01 Python
tensorflow获取变量维度信息
2018/03/10 Python
Python使用pymongo模块操作MongoDB的方法示例
2018/07/20 Python
对Python中plt的画图函数详解
2018/11/07 Python
windows7 32、64位下python爬虫框架scrapy环境的搭建方法
2018/11/29 Python
python实现汽车管理系统
2018/11/30 Python
Python 实现中值滤波、均值滤波的方法
2019/01/09 Python
Django 全局的static和templates的使用详解
2019/07/19 Python
x-ua-compatible content=”IE=7, IE=9″意思理解
2013/07/22 HTML / CSS
详解快速开发基于 HTML5 网络拓扑图应用
2018/01/08 HTML / CSS
科技节口号
2014/06/19 职场文书
高中教师先进事迹材料
2014/08/22 职场文书
学生上课看漫画的检讨书
2014/09/26 职场文书