PHP基础篇-----笔记-course6字符串函数

                                    字符串函数

(二)PHP中的字符串函数

常见的文件编码:GBKgb2312utf-8

PHPheader()函数:有2个作用,

1一个是页面重定向(页面跳转),用法是:header("Location:xxx.php");

2二是设置页面编码,用法是:header("Content-Type:text/html;charset=utf-8");

注意:header()函数之前不能有输出。一般置于PHP代码最上面,这是取决于header()设置编码的目的。是告诉浏览器以什么样的格式输出当前页面的内容。

可以自行查一下<meta>标签和header设置编码的区别

 

1.获取字符串的长度

  /**

 * strlen($string)获取字符串长度(按字节计算)

 * gbk编码下,一个字母或数字,占1个字节

 * 一个汉字,占2个字节

 */

//utf-8的编码下:

//一个汉字占3个字节

//一个数字和字母占1个字节,和gbk一样

 * mb_strlen($str,$encoding)获取字符串长度

 * 相比strlen(),多了一个可以设置编码的参数

 * utf-8gbk等等

 */

//对于有汉字的字符串,当mb_strlen()中编码参数和当前页面编码一致时,一个汉字占1个长度

2、转义函数

/**

 * addcslashes($str, $charlist)

 * 功能:在指定的字符前添加反斜杠\

         对字符于串,仍然是在每个字符前加上\

 * 参数$charlist:可以是一个字符,也可以是多个字符,也可以是范围

 */

/**

 * stripcslashes($str)函数

 * 反引用一个使用 addcslashes() 转义的字符串

 * 当选择对字符 0abfnrt v 进行转义时需要小心,

 * //它们将被转换成 \0\a\b\f\n\r\t \v

 * PHP 中,只有 \0NULL),\r(回车符),\n(换行符)和 \t(制表符)是预定义的转义序列,

 * 而在 C 语言中,上述的所有转换后的字符都是预定义的转义序列。

 */

$e1="asbndbnds";

echo $e1;br();

//在字符s之前添加\

$e11=addcslashes($e1, 's');br();

//输出addcslashes()s前加上\的结果

echo $e11;br();

//输出原来的字符串,还是原来的,因为addcslashes()是非引用传参,不会改变参数原来的值

echo $e1;br();

//输出stripcslashes()反引用的字符串

//对于普通字符s,则还原,但是\n,\b这样的转义字符则会被解析,例如\n被当做空格输出

echo stripcslashes($e11);

3、转换函数

/**

 * bin2hex($str)函数:把字符串转换为16进制

 */

/**

 * chr($ascii)函数:把ASCII码转换为对应的字符

 */

/**

 * ord($string)函数:返回字符所对应的ASCII

 */

/**

 * ucfirst($str)函数:将字符串的首字符转换为大写

 */

/**

 * lcfirst($str)函数:将字符串的首字符转换为小写

 */

/**

 * ucwords($str)函数:把字符串中每个单词的首字符转换为大写 单词之间用空格

 */

/**

 * strtolower($str)函数:把字符串中所有的字符转换为小写

 */

/**

 * strtoupper($string)函数:把字符串中所有的字符转换为大写

 */

4、移除特定的字符

/**

 * chop($str, $character_mask)函数:移除字符串右端的空白字符或其他预定义字符

 * 右端!!

 * 对于第2个参数中出现的字符都会一个个移除

 */

/**

 * rtrim($str):移除字符串右端的空白字符或其他预定义字符

 */

/**

 * ltrim($str):移除字符串左端的空白字符或其他预定义字符

 */

/**

 * trim($str)函数:移除字符串两端的空白字符或其他预定义字符

 */

5、字符串分隔函数

/**

 * chunk_split($body,$chunklen,$end)函数

 * $body-被分隔的字符串

 * $chunklen-要分隔的小串的长度

 * $end-小串之间的分隔符

 */

echo chunk_split("hello world",3,'......');

/**

 * explode($delimiter, $string,$limit=null)函数:将字符串分隔为数组

 * 返回值是数组

 * 注意:和数组一章中的implode()函数区分开来

 */

print_r(explode(",", "hel,lowo,rld",3));

 /**

 * str_split($string,$split_length=null)函数:把字符串分隔到数组中

 * $split_length:代表的是返回的数组中每个元素的长度,默认每个元素的长度为1

 * 返回值是一个数组

 */

6、统计函数

/**

 * count_chars($string,$mode=null)函数:统计字符串中每个字符的信息

 * 根据不同的 mode count_chars()  返回下列不同的结果:

 0 - 以所有的每个字符作为键名,出现次数作为值的数组。  

 1 - 0 相同,但只列出出现次数大于零的字符。数组。    

 2 - 0 相同,但只列出出现次数等于零的字符。  数组。  

 3 - 返回由所有使用了的字符组成的字符串。  

 4 - 返回由所有未使用的字符值组成的字符串。

 */

echo count_chars("helloworld",4);

/**

 * str_word_count($string,$return=null)函数

*统计字符串中单词的个数

 * 0-默认。返回单词的个数

 * 1-返回值是一个数组,包含字符串中出现的所有单词

 * 2-返回值是数组,键名是单词首字符出现的位置,键值就是那个单词

 */

/**

 * substr_count($str,$searchStr,$start,$length)函数:

 * 统计子串在字符串中出现的次数

 * $start位置开始在$str中搜索$searchStr,搜索长度为$length

 * 如果不指定搜索长度,则会从开始位置一直搜索到字符串结尾

 */

7、加密函数

 echo md5(123456);br();

8换行函数:\n转换为换行

echo nl2br("abc\ndfe");hr();

9、数字格式化函数

number_format($number);

10、替换函数

/**

 * str_ireplace($search, $replace, $subject)替换字符串中的函数

 * 1)若未找到字符串,则返回原来的字符串

 * 2)不区分大小写

 * $search是被当做一个有序的整体去查询

 */

/**

 * substr_replace()将字符串的一部分替换为别的

 * $start要替换的开始位置

str_ireplace()的区别:区分大小写

 * $length要替换的长度

 */

Echosubstr_replace("hellokitty","world",6,2);

11.重复函数

/**

 * $multiplier指定字符串重复的次数

 */

echo str_repeat("hah", 5);

12比较函数

/**

 * strcasecmp($str1, $str2)根据每一位的ASCII码,比较2个字符串的大小

 * (不区分大小写)

 */

echo strcasecmp("Ac", "abc");

/**

 * 根据每一位的ASCII码,比较2个字符串的大小

 * (区分大小写)

 */

strcmp($str1, $str2)

13.搜索函数

/**

 * strchr($string,$search,$part)

 * 搜索子串在字符串中第一次的出现

 * $part参数是布尔类型,决定了函数的返回值

 * true-返回搜索到的字符串出现之前的部分

 * false-默认。之后的

 * $search-如果是数字,则查找ASCII码为该数字的字符

 */

echo strchr("abcdefgcd", "cd",true);br();

echo strchr("abcdefgcd", 98,false);

br();

/**

 * stripos($string, $find,$start)

 * 搜索子串在字符串中第一次的位置

 * 不区分大小写

 * 返回子串的首字符的索引

 */

 

echo stripos("hello world", "Wo",0);

14.字符串截取函数

/**

 * $start开始截取的位置

 * $length要截取的长度

 */

echo substr("helloeworsd", 3,6);

echo substr("ssss", 0,2);

作业:

PHP中中文字符串的截取

函数和方法

 

猜你喜欢

转载自blog.csdn.net/i_am_lonely/article/details/79587391
今日推荐