PHP常用字符串函数小结_php基础_脚本之家

一、判断类型的函数

双引号能对变量进行解析。
单引号不能对变量进行解析。

is_bool() //判断是否为布尔型is_float //同上is_int() //判断是否为整型is_integer //判断是否为字符串is_object //判断是否为数组is_null() //判断是否为nullis_file //判断是否为目录is_numeric //判断不是数字is_resource() //判断是否为资源类型is_a //判断对象是否为类的实例 //可用 if($obj instanceof Classname)

可以用heredoc(无引号)、nowdoc(单引号)语法解决。

二、获取子串位置

1)int strlen – 获取字符串长度

int strlen ( string $string )

成功则返回字符串 string 的长度;如果 string 为空,则返回 0。

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 中最后一次出现的数字位置,不区分大小写。 

mb_strlen – 获取字符串长度

mixed mb_strlen ( string $str [, string $encoding = mb_internal_encoding() ] )

返回具有 encoding 编码的字符串 str 包含的字符数。 多字节的字符被计为 1。

如果给定的 encoding 无效则返回 FALSE。

三、获取子串

2)strpos – 查找字符串首次出现的位置

mixed strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )

返回 needle 存在于 haystack 字符串起始的位置(独立于
offset)。同时注意字符串位置是从0开始,而不是从1开始的。

如果没找到 needle,将返回 FALSE。

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; //返回$nd在$hys最后一次出现的地方开始到字符串结束 为止的字符串 //一般和 substr,strlen; 合用strpbrk;//从$char_list中依次匹配单个字符在$haystack中第一次出现的地方 //到字符串结束的地方 的整个字符串strtok; //第一次使用 将字符串按分隔符$token进行分割strtok; //第二次使用eg.$string = "This istan examplenstring";/* 使用制表符和换行符作为分界符 */$tok = strtok; while  {echo "Word=$tok
";$tok = strtok;}

stripos – 查找字符串首次出现的位置(不区分大小写)

mixed stripos ( string $haystack , string $needle [, int $offset = 0 ] )

返回 needle 存在于 haystack
字符串开始的位置(独立于偏移量)。同时注意字符串位置起始于 0,而不是 1。

如果未发现 needle 将返回 FALSE。

四、字符串str_ 型函数

3)strrpos – 计算指定字符串在目标字符串中最后一次出现的位置

int strrpos ( string $haystack , string $needle [, int $offset = 0 ] )

返回 needle 存在的位置。如果没有找到,返回 FALSE。
同时注意字符串位置起始于 0,而不是 1。

如果未发现 needle 将返回 FALSE。

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

strripos – 计算指定字符串在目标字符串中最后一次出现的位置(不区分大小写)

int strripos ( string $haystack , string $needle [, int $offset = 0 ] )

返回 needle 相对于 haystack
字符串的位置(和搜索的方向和偏移量无关)。同时注意字符串的起始位置为 0
而非 1。

如果 needle 未被发现,返回 FALSE。

五、字符串长度

4)str_replace – 子字符串替换

mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )

该函数返回替换后的数组或者字符串。

strlen; //字符串长度

str_ireplace – str_replace() 的忽略大小写版本

mixed str_ireplace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )

返回替换后的字符串或者数组。

六、翻转字符串

strtr – 转换指定字符

string strtr ( string $str , string $from , string $to )

string strtr ( string $str , array $replace_pairs )

返回转换后的字符串。

如果 replace_pairs 中包含一个空字符串(””)键,那么将返回 FALSE。 If
the str is not a scalar then it is not typecasted into a string, instead
a warning is raised and NULL is returned.

strrev;// 翻转字符串

substr_replace – 替换字符串的子串

mixed substr_replace ( mixed $string , mixed $replacement , mixed $start [, mixed $length ] )

返回结果字符串。如果 string 是个数组,那么也将返回一个数组。

七、mb_类型字符串函数

5)substr – 返回字符串的子串

string substr ( string $string , int $start [, int $length ] )

返回提取的子字符串, 或者在失败时返回 FALSE。

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

strstr – 查找字符串的首次出现

string strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] )

返回字符串的一部分或者 FALSE(如果未发现 needle)。

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

stristr – strstr() 函数的忽略大小写版本

string stristr ( string $haystack , mixed $needle [, bool $before_needle = false ] )

返回匹配的子字符串。如果 needle 未找到,返回 FALSE。

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

strrchr – 查找指定字符在字符串中的最后一次出现

string strrchr ( string $haystack , mixed $needle )

该函数返回字符串的一部分。如果 needle 未被找到,返回 FALSE。

八、字符串的相关操作

6)str_split – 将字符串转换为数组

array str_split ( string $string [, int $split_length = 1 ] )

如果指定了可选的 split_length 参数,返回数组中的每个元素均为一个长度为
split_length 的字符块,否则每个字符块为单个字符。

如果 split_length 小于 1,返回 FALSE。如果 split_length 参数超过了
string 超过了字符串 string
的长度,整个字符串将作为数组仅有的一个元素返回。

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

strtolower; //全部转换成小写strtoupper; //全部转换成大写

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

7)explode — 使用一个字符串分割另一个字符串

array explode ( string $delimiter , string $string [, int $limit ] )

此函数返回由字符串组成的 array,每个元素都是 string
的一个子串,它们被字符串 delimiter 作为边界点分割出来。

如果 delimiter 为空字符串(””),explode() 将返回 FALSE。 如果 delimiter
所包含的值在 string 中找不到,并且使用了负数的 limit , 那么会返回空的
array, 否则返回包含 string 单个元素的数组。

4、去除HTML 和 PHP 标记

8)implode — 将一个一维数组的值转化为字符串

string implode ( string $glue , array $pieces )

string implode ( array $pieces )

返回一个字符串,其内容为由 glue 分割开的数组的值。

发表评论

电子邮件地址不会被公开。 必填项已用*标注