PHP常用字符串函数小结(推荐)


Posted in PHP onAugust 05, 2018

一、判断类型的函数

is_bool()    //判断是否为布尔型
is_float()   //判断是否为浮点型
is_real()    //同上
is_int()    //判断是否为整型
is_integer()  //同上
is_string()   //判断是否为字符串
is_object()   //判断是否为对象
is_array()   //判断是否为数组
is_null()    //判断是否为null
is_file()    //判断是否为文件
is_dir()    //判断是否为目录
is_numeric()  //判断是否为数字
is_nan()    //判断不是数字
is_resource()  //判断是否为资源类型
is_a($obj,$classname) //判断对象是否为类的实例
           //可用 if($obj instanceof Classname)

二、获取子串位置

strpos($hs,$nd [,int $offset = 0 ]) //返回nd 在 hs 中首次出现的数字位置。 
stripos($hs,$nd [,int $offset = 0 ]) //返回nd 在 hs 中首次出现的数字位置, 不区分大小写。
strrpos($hs,$nd [,int $offset = 0 ]) //返回nd 在 hs 中最后一次出现的数字位置。
strripos($hs,$nd [,int $offset = 0 ]) //返回nd 在 hs 中最后一次出现的数字位置,不区分大小写。

三、获取子串

substr($str,$start [,$length]); //获取子串
substr_compare($main_str,$str,$offset[,$length]); //子串比较 从offset处开始比较
substr_count($hs,$nd [,$offset=0 [,$length]]); //获取子串nd在hs中出现的次数
substr_replace($string,$replacement,$start [,$length]); //字符串子串替换
                //用$replacement替换掉$string从start开始长度为length的子串
strstr($hys,$nd [,bool $before_needle = false ]);//返回$nd在$hys 第一次出现的地方开始到字符串结束 为止的字符串
        //第三个参数如果为true 则返回$nd 之前的字符串
stristr($hys,$nd [,bool $before_needle = false ]); //同上,忽略大小写版本
strrchr($hys,$nd); //返回$nd在$hys最后一次出现的地方开始到字符串结束 为止的字符串
        //一般和 substr(strrchr($hys,$nd),strlen($nd)); 合用
strpbrk($haystack,$char_list);//从$char_list中依次匹配单个字符在$haystack中第一次出现的地方
            //到字符串结束的地方 的整个字符串
strtok($str,$token); //第一次使用 将字符串按分隔符$token进行分割
strtok($token);   //第二次使用
	eg.
	$string = "This is\tan example\nstring";
	/* 使用制表符和换行符作为分界符 */
	$tok = strtok($string, " \n\t");
 
	while ($tok !== false) {
		echo "Word=$tok<br />";
		$tok = strtok(" \n\t");
	}

四、字符串str_ 型函数

str_getcsv($str); //将csv文件字符串转换成一个数组
str_replace($search,$replace,$subject [,&$count]);//搜索并替换字符串
      //第四个参数被指定的话,将会赋值给他替换的次数
str_ireplace($search,$replace,$subject [,&$count]);//搜索并替换字符串
      //第四个参数被指定的话,将会赋值给他替换的次数 忽略大小写
str_shuffle(string $str);//随机打乱字符串
str_split($str [,$len=1]);//将字符串转换成一个数组
             //,每个数组单元的长度为$len

五、字符串长度

strlen($str); //字符串长度

六、翻转字符串

strrev(string $string);// 翻转字符串

七、mb_类型字符串函数

mb_类型字符串与上述字符串函数基本一样,
只是加多一个可选的字符编码参数,用法同上
这里列出一些其他有用函数

1、检测字符串的字符编码

$encode = mb_detect_encoding($lines, array("ASCII","UTF-8","GB2312","GBK","BIG5"));
if($encode != "UTF-8"){
  $lines = iconv($encode,"UTF-8", $lines);
}

八、字符串的相关操作

1、转换字符串类型

strval($str); //转换成字符串类型
floatval($str);//转换成浮点型
intval($str); //转换成整型

2、大小写转换

strtolower($str); //全部转换成小写
strtoupper($str); //全部转换成大写

3、字符串转时间戳

strtotime($str); //时间格式的字符串转换成整型时间戳
      //注意设置时区 否则会有 8小时误差

4、去除HTML 和 PHP 标记

strip_tags($str [,$tags]);//去除不含$tags里标签外的所有标签

5、ascii转数字 数字转ascii

chr(int $ascii); //数字转换成ascii
ord(string $str); //返回$str第一个字符的ascii值

6、json的编码与解码

json_encode($obj/$arr/$str...);//编码成json 格式的字符串
json_decode($jsonstr [,$assoc=true]); //解码成对象
             //当$assoc=true 时 返回数组 而非对象

7、换行转<br/>

nl2br($str); //字符串 $str 所有新行之前插入'<br/>'

8、数组转字符串,字符串转数组

implode($arr,$glue);//将一维数组转换为字符串
explode();//字符串转换为数组

9、千位分割格式化

string number_format ( float $number [, int $decimals = 0 ] )
string number_format ( float $number , int $decimals = 0 , string $dec_point = '.' , string $thousands_sep = ',' )
 @param  $number 你要格式化的数字 
     $decimals 要保留的小数位数 
     $dec_point 指定小数点显示的字符 
     $thousands_sep 指定千位分隔符显示的字符

10、去空格

trim(string $str [,string $charlist ]); //去左右字符
ltrim(string $str [,string $charlist ]); //去左字符
rtrim(string $str [,string $charlist ]); //去右字符

该函数删除 str 末端的空白字符并返回。

不使用第二个参数, rtrim() 仅删除以下字符:
• " " (ASCII 32 (0x20)),普通空白符。
• "\t" (ASCII 9 (0x09)),制表符。
• "\n" (ASCII 10 (0x0A)),换行符。
• "\r" (ASCII 13 (0x0D)),回车符。
• "\0" (ASCII 0 (0x00)),NUL 空字节符。
• "\x0B" (ASCII 11 (0x0B)),垂直制表符。
过滤字符也可由 charlist 参数指定。一般要列出所有希望过滤的字符,
也可以使用 ".." 列出一个字符范围

11、转换字符串编码函数

iconv($in_charset, $out_charset, $str);
$in_charset输入字符集
$out_charset输出字符集

12、字符串加密函数

sha1($str); 
md5($str);

13、字符串转义与反转义函数

addcslashes(string $str , string $charlist);//转义字符串中的特殊字符
        //eg. addcslashes($str,"\0..\37!@\177..\377");
			  //转义ascii 中0-37、177-377中不含@符号的字符
 
stripcslashes($str) — 反转义addcslashes()函数转义处理过的字符串
 返回反转义后的字符串。可识别类似 C 语言的 \n,\r,... 八进制以及十六进制的描述

14、按格式返回数据

sprintf — 按照要求对数据进行返回,但是不输出
	可表示类型如下:
	string s 
	integer d, u, c, o, x, X, b 
	double g, G, e, E, f, F 
	eg.
	$num = 5;
	$location = 'tree';
	$format = 'There are %d monkeys in the %s';
	echo sprintf($format, $num, $location);

这篇关于php常用字符串函数的文章就介绍到这了,希望大家可以多参考三水点靠木以前发布的文章。

PHP 相关文章推荐
PHP打开和关闭文件操作函数总结
Nov 18 PHP
PHP计算指定日期所在周的开始和结束日期的方法
Mar 24 PHP
php简单实现无限分类树形列表的方法
Mar 27 PHP
php可扩展的验证类实例(可对邮件、手机号、URL等验证)
Jul 09 PHP
php防止网站被攻击的应急代码
Oct 21 PHP
PHP使用redis实现统计缓存mysql压力的方法
Nov 14 PHP
symfony2.4的twig中date用法分析
Mar 18 PHP
php 开发中加密的几种方法总结
Mar 22 PHP
微信封装的调用微信签名包的类库
Jun 08 PHP
详解laravel安装使用Passport(Api认证)
Jul 27 PHP
laravel 解决多库下的DB::transaction()事务失效问题
Oct 21 PHP
PHP序列化和反序列化深度剖析实例讲解
Dec 29 PHP
PHP使用标准库spl实现的观察者模式示例
Aug 04 #PHP
PHP设计模式之观察者模式定义与用法示例
Aug 04 #PHP
PHP操作redis实现的分页列表,新增,删除功能封装类与用法示例
Aug 04 #PHP
PHP一致性hash分布式算法封装类定义与用法示例
Aug 04 #PHP
PHP实现的函数重载功能示例
Aug 03 #PHP
thinkPHP5框架导出Excel文件简单操作示例
Aug 03 #PHP
PHP命名空间namespace及use的简单用法分析
Aug 03 #PHP
You might like
php5中date()得出的时间为什么不是当前时间的解决方法
2008/06/30 PHP
Mac系统完美安装PHP7详细教程
2017/06/06 PHP
PHP连接及操作PostgreSQL数据库的方法详解
2019/01/30 PHP
javascript 可以拖动的DIV(二)
2009/06/26 Javascript
jquery简单瀑布流实现原理及ie8下测试代码
2013/01/23 Javascript
使用JQUERY进行后台页面布局控制DIV实现左右式
2014/01/07 Javascript
jQuery解决input超多的表单提交
2015/08/10 Javascript
基于jQuery实现简单的折叠菜单效果
2015/11/23 Javascript
jQuery ajax全局函数处理session过期后的ajax跳转问题
2016/06/03 Javascript
js实现城市级联菜单的2种方法
2017/06/23 Javascript
JavaScript实现的简单加密解密操作示例
2018/06/01 Javascript
详解适配器在JavaScript中的体现
2018/09/28 Javascript
详解Vue项目中实现锚点定位
2019/04/24 Javascript
微信小程序简单的canvas裁剪图片功能详解
2019/07/12 Javascript
微信小程序云开发获取文件夹下所有文件(推荐)
2019/11/14 Javascript
Javascript执行流程细节原理解析
2020/05/14 Javascript
python解决网站的反爬虫策略总结
2016/10/26 Python
使用Python的Scrapy框架十分钟爬取美女图
2016/12/26 Python
Python解惑之True和False详解
2017/04/24 Python
Python算法之图的遍历
2017/11/16 Python
python消费kafka数据批量插入到es的方法
2018/12/27 Python
pyqt 实现在Widgets中显示图片和文字的方法
2019/06/13 Python
python可视化篇之流式数据监控的实现
2019/08/07 Python
python requests库爬取豆瓣电视剧数据并保存到本地详解
2019/08/10 Python
Python生成验证码、计算具体日期是一年中的第几天实例代码详解
2019/10/16 Python
django queryset相加和筛选教程
2020/05/18 Python
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
2013/05/03 面试题
《大自然的语言》教学反思
2014/04/08 职场文书
公证委托书标准格式
2014/09/11 职场文书
网络销售员岗位职责
2015/04/11 职场文书
2015年评职称工作总结范文
2015/04/20 职场文书
会议主持词开场白
2015/05/28 职场文书
无婚姻登记记录证明
2015/06/18 职场文书
2016大学迎新欢迎词
2015/09/29 职场文书
读《皮囊》有感:理解是对他人的最大的善举
2019/11/14 职场文书
js中Map和Set的用法及区别实例详解
2022/02/15 Javascript